Main Content

rethrow

重新发出错误

注意

自版本 7.5 起,MATLAB® 支持基于 MException 类的错误处理。使用结构体参量调用 rethrow(如此页上所述)现已替换为使用 MException 对象调用 rethrow(如 rethrow 的参考页上所述)。在以后的版本中,将去除带结构体输入调用的 rethrow

语法

rethrow(errorStruct)

说明

rethrow(errorStruct) 重新发出 errorStruct 指定的错误。当前运行的函数终止并且控制权返回给键盘(或任何封闭的 catch 块)。errorStruct 参量必须为至少包含 messageidentifier 字段的 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 之前推出