Переиздайте ошибку
Примечание
С версии 7.5 MATLAB® поддерживает обработку ошибок, которая основана на MException класс. Вызов rethrow с аргументом структуры, аналогичным описанному на этой странице, теперь заменяется путем вызова переброска с MException объект, аналогичный описанному на странице с описанием для rethrow. rethrow вызванный входом структуры будет удален в будущей версии.
rethrow(errorStruct)
rethrow(errorStruct) переиздает ошибку, заданную errorStruct. В настоящее время рабочая функция завершает работу, и управление возвращается к клавиатуре (или к любому включению catch блокируйтесь). errorStruct аргумент должен быть структурой MATLAB, содержащей, по крайней мере, message и identifier поля :
Имя поля | Описание |
|---|---|
message | Текст сообщения об ошибке |
identifier | Идентификатор для ошибки |
stack | Информация об ошибке от стека программы |
Для получения информации об ошибочных идентификаторах смотрите MException.
rethrow обычно используется в сочетании с try, catch операторы, чтобы переиздать ошибку от catch блокируйтесь после выполнения catch- связанные операции. Например,
try do_something catch do_cleanup rethrow(previous_error) end
errorStruct введите может содержать поле stack, идентичный в формате к выходу dbstack команда. Если stack поле присутствует, стек повторно выданной ошибки будет установлен в то значение. В противном случае стек будет установлен в линию, в которой происходит перебросок.
assert | error | MException | rethrow | throw | throwAsCaller | try, catch