rethrow

Ошибка переиздания

Примечание

Начиная с версии 7.5, MATLAB® поддерживает обработку ошибок, основанную на MException класс. Вызов rethrow со структурным аргументом, как описано на этой странице, теперь заменяется вызовом rethrow с MException объект, как описано на странице с описанием для rethrow. rethrow вызов со входом будет удален в следующей версии.

Синтаксис

rethrow(errorStruct)

Описание

rethrow(errorStruct) повторно выдает ошибку, заданную как errorStruct. Текущая функция завершается, и управление возвращается к клавиатуре (или к любому корпусу catch блок). The errorStruct аргумент должен быть структурой MATLAB, содержащей по крайней мере message и identifier поля:

Fieldname

Описание

message

Текст сообщения об ошибке

identifier

Идентификатор ошибки

stack

Информация об ошибке из стека программ

Для получения информации об идентификаторах ошибок смотрите MException.

Примеры

rethrow обычно используется в сочетании с try, catch операторы для переиздания ошибки из catch блок после выполнения catch- связанные операции. Для примера,

try
   do_something
catch
   do_cleanup
   rethrow(previous_error)
end

Совет

The errorStruct вход может содержать поле stack, идентичный по формату выходным данным dbstack команда. Если на stack поле присутствует, стек повторно выданной ошибки будет установлен на это значение. В противном случае для стека будет задана линия, на которой происходит перехват.

Представлено до R2006a