rethrow
重新发出错误
注意
自版本 7.5 起,MATLAB® 支持基于 MException
类的错误处理。使用结构体参量调用 rethrow
(如此页上所述)现已替换为使用 MException
对象调用 rethrow(如 rethrow
的参考页上所述)。在以后的版本中,将去除带结构体输入调用的 rethrow
。
语法
rethrow(errorStruct)
说明
rethrow(errorStruct)
重新发出 errorStruct
指定的错误。当前运行的函数终止并且控制权返回给键盘(或任何封闭的 catch
块)。errorStruct
参量必须为至少包含 message
和 identifier
字段的 MATLAB 结构体:
字段名称 | 描述 |
---|---|
message | 错误消息文本 |
identifier | 错误的标识符 |
stack | 有关来自程序堆栈的错误的信息 |
有关错误标识符的信息,请参阅 MException
。
示例
rethrow
通常与 try, catch
语句结合使用,以在执行 catch
相关操作后从 catch
块重新发出错误。例如,
try do_something catch do_cleanup rethrow(previous_error) end
提示
errorStruct
输入可包含字段 stack
,其格式与 dbstack
命令的输出相同。如果 stack
字段存在,重新引发错误堆栈将重置为该值。否则,该堆栈将设置为发生重新引发的行。
扩展功能
版本历史记录
在 R2006a 之前推出
另请参阅
rethrow
| throwAsCaller
| throw
| assert
| error
| MException
| try, catch