Можно выдать предупреждение, чтобы отметить неожиданные условия, обнаруженные при выполнении программы. warning функционируйте распечатывает предупреждающее сообщение к командной строке. Предупреждения отличаются от ошибок двумя значительными способами:
Предупреждения не останавливают осуществление программы.
Можно подавить любые бесполезные предупреждения MATLAB®.
Используйте warning функционируйте в своем коде, чтобы сгенерировать предупреждающее сообщение во время выполнения. Задайте сообщение как входной параметр к warning функция:
warning('Input must be text')Например, можно вставить предупреждение в код, чтобы проверить версию программного обеспечения:
function warningExample1
if ~strncmp(version, '7', 1)
warning('You are using a version other than v7')
endМожно выдать ошибку отметить критические проблемы в рамках программы. Используйте error функционируйте, чтобы распечатать сообщения об ошибке к командной строке. После отображения сообщения MATLAB останавливает осуществление текущей программы.
Например, предположите, что вы создаете функцию, которая возвращает количество комбинаций k элементы от n элементы. Такая функция бессмысленна если k > n; вы не можете выбрать 8 элементов, если вы начинаете со всего 4. Необходимо включить этот факт в функцию, чтобы позволить любому использующему combinations знайте о проблеме:
function com = combinations(n,k) if k > n error('Cannot calculate with given values') end com = factorial(n)/(factorial(k)*factorial(n-k)); end
Если combinations функция получает недопустимый вход, выполнение остановок MATLAB сразу после броска сообщения об ошибке:
combinations(4,8)
Error using combinations (line 3) Cannot calculate with given values
Чтобы сделать ваши предупреждающие сообщения или сообщения об ошибке более конкретными, вставьте компоненты сообщения во время выполнения. warning функционируйте символы преобразования использования, которые совпадают с используемыми sprintf функция. Действие символов преобразования как заполнители для подстрок или значений, неизвестных, пока, код не выполняется.
Например, это предупреждение использует %s и %d отметить, где вставить значения переменных arrayname и arraydims:
warning('Array %s has %d dimensions.',arrayname,arraydims)arrayname = 'A' и arraydims = 3, MATLAB отвечает:Warning: Array A has 3 dimensions.
Добавление параметров периода выполнения к вашим предупреждениям и ошибкам может разъяснить проблемы в рамках программы. Рассмотрите функциональный combinations от Ошибок Броска. Можно выдать намного более информативную ошибку параметры периода выполнения:
function com = combinations(n,k) if k > n error('Cannot choose %i from %i elements',k,n) end com = factorial(n)/(factorial(k)*factorial(n-k)); end
combinations(6,9)
Error using combinations (line 3) Cannot choose 9 from 6 elements
Идентификатор обеспечивает способ исключительно сослаться на предупреждение или ошибку.
Включите или отключите предупреждения с идентификаторами. Используйте текстовый аргумент идентификации с warning функционируйте, чтобы присоединить уникальный тег к сообщению:
warning(identifier_text,message_text)
Например, можно добавить тег идентификатора в предыдущее предупреждение MATLAB, о котором запускается версия программного обеспечения:
minver = '7';
if ~strncmp(version,minver,1)
warning('MYTEST:VERCHK','Running a version other than v%s',minver)
endДобавление идентификатора к сообщению об ошибке допускает отрицательное тестирование. Однако добавление и восстановление большей информации от ошибок часто требуют работы с MException объекты.
lastwarn | MException | warndlg | warning