Как я могу бросить исключение в Matlab? - PullRequest
4 голосов
/ 18 февраля 2012

Я пишу некоторый код и сейчас я делаю некоторые функции, но я еще не пишу их.Я просто делаю пустую функцию, которая пока ничего не сделает.То, что я хотел бы сделать, это вызвать исключение, если функция запущена, чтобы я не забыл написать функцию.

Ответы [ 3 ]

6 голосов
/ 18 февраля 2012

Самый простой способ:

error('Some useful error message.')

Matlab счастливее, если вы присваиваете идентификатор сообщения об ошибке, например:

error('toolsetname:other_identifying_information','Some useful error message here.')

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

3 голосов
/ 19 февраля 2012

Вы также можете использовать:

  throw(MException('Id:id','message'));

Есть хорошая функция для MException, ее можно использовать как sprintf:

  throw(MException('Foo:FatalError',...
  'First argument of Foo is %s, but it must be double',class(varargin{1}) )); 

Как правильно прокомментировано @Эта функция sprintf может быть обоюдоострым мечом.Если вы используете некоторые из escape-символов, они могут вести себя не так, как вы этого хотите.

throw(MException('Foo:FatalError',...
  'I just want to add a \t, no tab!' )); 
2 голосов
/ 18 февраля 2012

Читали ли вы документацию MATLAB для "Броска исключения" ?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...