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