Main Content

rethrow

Reissue error

Note

As of version 7.5, MATLAB® supports error handling that is based on the MException class. Calling rethrow with a structure argument, as described on this page, is now replaced by calling rethrow with an MException object, as described on the reference page for rethrow. rethrow called with a structure input will be removed in a future version.

Syntax

rethrow(errorStruct)

Description

rethrow(errorStruct) reissues the error specified by errorStruct. The currently running function terminates and control returns to the keyboard (or to any enclosing catch block). The errorStruct argument must be a MATLAB structure containing at least the message and identifier fields:

Fieldname

Description

message

Text of the error message

identifier

Identifier for the error

stack

Information about the error from the program stack

For information about error identifiers, see MException.

Examples

rethrow is usually used in conjunction with try, catch statements to reissue an error from a catch block after performing catch-related operations. For example,

try
   do_something
catch
   do_cleanup
   rethrow(previous_error)
end

Tips

The errorStruct input can contain the field stack, identical in format to the output of the dbstack command. If the stack field is present, the stack of the rethrown error will be set to that value. Otherwise, the stack will be set to the line at which the rethrow occurs.

Extended Capabilities

Version History

Introduced before R2006a