Обработка исключений в приложении MATLAB

Обзор

Неважно, как тщательно вы планируете и тестируете программы, которые вы написали, они не могут всегда запускаться так же гладко как ожидалось, когда выполняется при различных условиях. Это всегда - хорошая идея включать проверку ошибок в программы, чтобы гарантировать надежную операцию при всех условиях.

В MATLAB можно решить, как программы отвечают на различные типы ошибок. Можно хотеть предложить пользователю более вход, отображение расширенная ошибка или предупреждение информации, или возможно повторить вычисление с помощью значений по умолчанию. Возможности обработки ошибок в MATLAB помогают вашей проверке программ на особое состояние ошибки и выполняют соответствующий код в зависимости от ситуации.

То, когда MATLAB обнаруживает серьезный отказ в команде или программе, это запускается, это собирает информацию о том, что происходило во время ошибки, отображает сообщение, чтобы помочь пользователю понять то, что пошло не так, как надо и отключает команду или программу. Это называется throwing an exception. Можно получить исключение при вводе команд в подсказке команды MATLAB или при выполнении кода программы.

Получение исключения в командной строке

Если вы получаете исключение в посдказке MATLAB, у вас есть несколько опций о том, как иметь дело с нею, как описано ниже.

Определение отказа из сообщения об ошибке

Оцените сообщение об ошибке, которое отобразил MATLAB. Большинство сообщений об ошибке пытается объяснить, по крайней мере, мгновенную причину отказа программы. Часто существует достаточная информация, чтобы определить причину и что необходимо сделать, чтобы исправить ситуацию.

Рассмотрение провального кода

Если функция, в которой произошла ошибка, реализована как файл программы MATLAB, сообщение об ошибке должно включать строку, которая выглядит примерно так:

surf

Error using surf (line 50)
Not enough input arguments.

Текст включает имя функции, которое выдало ошибку (surf, в этом случае) и показывает провальный номер строки в программном файле этой функции. Кликните по номеру строки; MATLAB открывает файл и располагает курсор в местоположении в файле где порожденная ошибка. Можно смочь определить причину ошибки путем исследования этой строки и кода, который предшествует ему.

Продвижение через код в отладчик

Можно использовать Отладчик MATLAB, чтобы продвинуться через провальный код. Кликните по подчеркнутому тексту ошибки, чтобы открыть файл в редакторе MATLAB в или около точки ошибки. Затем, кликните по дефису в начале той строки, чтобы установить точку останова в том местоположении. Когда вы повторно выполняете свою программу, MATLAB приостанавливает выполнение в точке останова и позволяет вам продвинуться через код программы. Команда dbstop on error также полезна в нахождении точки ошибки.

См. документацию относительно Отладки программа MATLAB для получения дополнительной информации.

Получение исключения в коде программы

Когда вы написали свою собственную программу в программном файле, вы можете исключения catch и попытка обработать или разрешить их вместо того, чтобы позволить вашей программе останавливаться. Когда вы отлавливаете исключение, вы прерываете нормальный процесс завершения и вводите блок кода, который справляется с дефектной ситуацией. Этот блок кода называется catch block.

Некоторые вещи, которые вы можете хотеть сделать в блоке выгоды:

  • Исследуйте информацию, которая была получена об ошибке.

  • Соберите дополнительную информацию, чтобы сообщить пользователю.

  • Попытайтесь выполнить задачу под рукой некоторым другим способом.

  • Очистите любые нежелательные побочные эффекты ошибки.

Когда вы достигаете конца блока выгоды, можно или продолжить выполнять программу, если это возможно, или отключать ее.

Документация относительно информации о Получении Об Исключениях описывает, как получить информацию о том, что вызвало ошибку, и Ответьте на подарки Исключения некоторые идеи о том, как ответить на него.

Генерация нового исключения

Когда ваш код программы обнаруживает условие, которое или заставит программу привести к сбою или привести к недопустимым результатам, это должно выдать исключение. Эта процедура

  • Сохраняет информацию о том, что пошло не так, как надо и что код выполнял во время ошибки.

  • Собирает любую другую уместную информацию об ошибке.

  • Дает MATLAB команду выдавать исключение.

Документация относительно информации о Получении Об Исключениях описывает, как использовать объект MException получить информацию об ошибке, и Выдавать Исключение объясняет, как инициировать процесс исключения.