Spec-Zone.ru › Octave 9

Далее: Исполнимые программы Octave, Предыдущее: Редактирование командной строки, Вверх: Начало работы [Оглавление][Индекс]

2.5 Как Octave сообщает об ошибках ¶

Octave сообщает о двух типах ошибок для некорректных программ.

Ошибка синтаксического анализа возникает, если Octave не может понять что-то, что вы ввели. Например, если вы неправильно написали ключевое слово,

octave:13> function z = f (x, y) z = x ||| 2; endfunction

Octave немедленно ответит сообщением, подобным этому:

parse error:

  syntax error

>>> function z = f (x, y) z = x ||| y; endfunction
                                  ^

В большинстве случаев синтаксических ошибок Octave использует символ «^» для обозначения места на строке, где не удалось понять ваш ввод. В данном случае Octave сгенерировало сообщение об ошибке, потому что ключевое слово для логического оператора или (||) было неправильно написано. Ошибка была отмечена у третьего символа «|», поскольку код до этого был корректным, но окончательный символ «|» не был понят.

Другой класс сообщений об ошибках возникает во время выполнения. Эти ошибки называются ошибками времени выполнения или иногда ошибками вычисления, потому что они возникают, когда ваша программа выполняется или вычисляется. Например, если после исправления ошибки в предыдущем определении функции вы введёте

octave:13> f ()

Octave ответит

error: `x' undefined near line 1 column 24
error: called from:
error:   f at line 1, column 22

Это сообщение об ошибке состоит из нескольких частей и содержит много информации, помогающей определить причину ошибки. Сообщения генерируются с точки наибольшей ошибки и предоставляют трассировку вложенных выражений и вызовов функций.

В приведённом выше примере первая строка указывает, что переменная с именем «x» была обнаружена как неопределённая около строки 1 и столбца 24 какой-то функции или выражения. Для ошибок, возникающих внутри функций, строки считаются с начала файла, содержащего определение функции. Для ошибок, возникающих вне вложенной функции, номер строки указывает номер строки ввода, который обычно отображается в строке основного приглашения.

Вторая и третья строки сообщения об ошибке указывают, что ошибка произошла внутри функции f. Если функция f была вызвана из другой функции, например, g, список ошибок завершился бы ещё одной строкой:

error:   g at line 1, column 17

Эти списки вызовов функций делают довольно простым отслеживание пути, пройденного вашей программой до возникновения ошибки, и исправление ошибки перед повторной попыткой.

Далее: Исполнимые программы Octave, Предыдущее: Редактирование командной строки, Вверх: Начало работы [Оглавление][Индекс]

© 1996–2023 The Octave Project Developers
Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies.
Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one.
Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions.
https://docs.octave.org/v9.2.0/Errors.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API