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