问题是我在 Windows 上运行 octave,或者至少我认为这是问题所在。我故意造成错误,我想要做的是获取整个错误消息,以便我可以从中获取完整的文件路径。pwd() 返回主目录,而不是程序运行的目录。
我试过 error.file 但显然这不是错误结构的一部分。
所以这是一个完整的示例:
try
err = make_error();
catch
msg = lasterror.file;
print(msg);
end_try_catch
问题是我在 Windows 上运行 octave,或者至少我认为这是问题所在。我故意造成错误,我想要做的是获取整个错误消息,以便我可以从中获取完整的文件路径。pwd() 返回主目录,而不是程序运行的目录。
我试过 error.file 但显然这不是错误结构的一部分。
所以这是一个完整的示例:
try
err = make_error();
catch
msg = lasterror.file;
print(msg);
end_try_catch
你读错了文档。返回的结构lasterror
没有名为 的字段file
。确实有一个名为 的字段stack
,它也是一个结构,它确实有一个file
字段。所以你要找的是lasterror().stack.file
. 请参阅有关捕获错误的手册部分。
此外,pwd()
返回工作目录,而不是主目录。您要么做错了其他事情,要么是 Windows 版本的错误。