2.5如何报告Octave的错误

Octave为无效程序返回两种错误。

A.解析错误如果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

通过这些函数调用列表,可以很容易地跟踪程序在错误发生前的路径,并在重试之前更正错误。


版权所有 © 2024-2025 Octave中文网

ICP备案/许可证号:黑ICP备2024030411号-2