Переиздайте ошибку
Примечание
С версии 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