2.5如何报告Octave的错误

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

A.解析错误如果Octave无法理解您输入的内容,就会发生这种情况。例如,如果您拼错了一个关键字,

Octave:13>函数z=f(x,y)z=x|||2;结束函数

Octave会立即回复如下信息:

解析错误:语法错误>>函数z=f(x,y)z=x|||y;结束函数^

对于大多数分析错误,Octave使用插入符号(^)符号行上无法理解您的输入的点。在这种情况下,Octave生成了一条错误消息,因为逻辑或运算符的关键字(||)拼写错误。它在第三处标记了错误|因为导致这一问题的代码是正确的,但却是最终的|没有被理解。

评估时会出现另一类错误消息。这些恐怖分子被称为运行错误,或者有时评估错误,因为它们发生在您的程序评价的。例如,如果在更正上一个函数定义中的错误后,输入

Octave:13>f()

Octave将以

错误:在第1行第24列附近未定义“x”错误:从:错误:f调用,位于第1行,第22列

此错误消息包含多个部分,并提供了相当多的信息来帮助您定位错误源。消息是从最里面的错误点生成的,并提供封闭表达式和函数调用的回调。

在上面的示例中,第一行指示名为“”的变量x在某个函数或表达式的第1行和第24列附近查找“”未定义。对于函数中发生的错误,将从包含函数定义的文件的开头开始计算行数。对于发生在封闭函数之外的错误,行号表示输入行号,通常显示在主提示字符串中。

错误消息的第二行和第三行指示错误发生在函数内f.如果函数f例如从另一个函数中调用,g,错误列表将以一行结束:

错误:g位于第1行第17列

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


版权所有 © 2024 Octave中文网

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