无法在MATLAB中捕获错误

时间:2015-07-17 18:46:06

标签: matlab try-catch

我在使用matlab中的内置函数捕获错误时遇到问题

每当我得到一个不正确的xml格式时,命令历史记录会在命令窗口中输出“致命错误”。我正在尝试捕获错误并将其保存在变量中以阻止它打印出来但它不起作用!

try
    main=xmlread(ABSPATH);
catch er
    return
end

“[致命错误] DatasetInfo.xml:852:1:XML文档结构必须在同一实体内开始和结束。”

是否可以阻止打印?

1 个答案:

答案 0 :(得分:0)

如果我理解正确,您确实会收到错误,但您只需要显示错误消息。

您可以使用evalc来实现它,它会计算表达式并捕获输出:

[~, main] = evalc(sprintf('xmlread(%s)',ABSPATH));

修改 我担心它不会起作用,因为正如文档中所写:

  

通常写入命令窗口的任何内容,除外   对于错误消息,捕获并返回