warning

Отобразите предупреждающее сообщение

Описание

пример

warning(msg) отображает предупреждающее сообщение и устанавливает состояние предупреждения для lastwarn функция. Если msg пусто, warning сбрасывает состояние предупреждения для lastwarn, но не отображает текста.

warning(msg,A1,...,An) отображает сообщение, которое содержит символы преобразования форматирования, такие как используемые с MATLAB® sprintf функция. Каждый символ преобразования в msg преобразован в одно из значений A1,...,An.

warning(msgID,___) присоединяет идентификатор предупреждения к предупреждающему сообщению. Можно включать любой из входных параметров в предыдущих синтаксисах. Идентификатор позволяет вам отличить предупреждения и управлять тем, что происходит, когда MATLAB сталкивается с предупреждениями.

пример

warning(state) включает, отключает или отображает состояние всех предупреждений.

warning(state,msgID) действия на состоянии заданного предупреждения.

warning отображает состояние всех предупреждений. Это эквивалентно warning('query').

пример

warnStruct = warning возвращает структуру или массив структур, который содержит информацию, о которой предупреждения включены и отключены. warnStruct включает identifier поле с msgID или 'all', и state поле, которое указывает на состояние соответствующего предупреждения.

warning(warnStruct) устанавливает текущие настройки предупреждения, как обозначено в массиве структур, warnStruct.

пример

warning(state,mode) средства управления, отображает ли MATLAB информацию трассировки стека или дополнительную информацию о предупреждении.

warnStruct = warning(state,mode) возвращает структуру с identifier поле, содержащее mode и state поле, содержащее текущее состояние mode. Если вы передаете структуру output, warnStruct, в warning функция, вы устанавливаете состояние mode, не, какие предупреждения включены или отключены.

Примеры

свернуть все

Сгенерируйте предупреждение, которое отображает сообщение.

n = 7;
if ~ischar(n)
   warning('Input must be a character vector')
end
Warning: Input must be a character vector

Включайте информацию о n в предупреждающем сообщении.

if ~ischar(n)
   warning('Input must be a character vector, not a %s',class(n))
end
Warning: Input must be a character vector, not a double

Присоедините идентификатор сообщения к предупреждающему сообщению.

if ~ischar(n)
   warning('MyComponent:incorrectType',...
       'Input must be a character vector, not a %s',class(n))
end
Warning: Input must be a character vector, not a double 

Отключите все предупреждения.

warning('off')

Запросите предупреждения.

warning
All warnings have the state 'off'.

Включите все предупреждения, отключите сингулярное матричное предупреждение и запросите все предупреждения.

warning('on')
warning('off','MATLAB:singularMatrix')
warning
The default warning state is 'on'. Warnings not set to the default are

State  Warning Identifier

    off  MATLAB:singularMatrix

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

warning('on','MATLAB:singularMatrix')

Включите все предупреждения, и затем отключите сингулярное матричное предупреждение.

warning('on')
warning('off','MATLAB:singularMatrix')

Сохраните текущие настройки предупреждения.

s = warning
s = 

2x1 struct array with fields:

    identifier
    state

Исследуйте эти две структуры.

s(1)
ans = 

    identifier: 'all'
         state: 'on'
s(2)
ans = 

    identifier: 'MATLAB:singularMatrix'
         state: 'off'

Все предупреждения включены за исключением 'MATLAB:singularMatrix'.

Отключите и запросите все предупреждения.

warning('off')
warning('query')
All warnings have the state 'off'.

Восстановите сохраненную структуру состояния предупреждения и запросите состояние.

warning(s)
warning('query')
The default warning state is 'on'. Warnings not set to the default are

State  Warning Identifier

    off  MATLAB:singularMatrix

Обеспечьте verbose и backtrace настройки являются значениями по умолчанию.

warning('off','verbose')
warning('on','backtrace')

Включите все предупреждения и удалите папку, которая не существует на пути MATLAB.

warning('on')
rmpath('nosuchfolder')
Warning: "nosuchfolder" not found in path. 
> In rmpath at 57 

Позвольте многословию отобразить расширенное предупреждающее сообщение.

warning('on','verbose')
rmpath('nosuchfolder')
Warning: "nosuchfolder" not found in path.
(Type "warning off MATLAB:rmpath:DirNotFound" to suppress this warning.)
 
> In rmpath at 57 

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

warning('off','backtrace')
rmpath('nosuchfolder')
Warning: "nosuchfolder" not found in path.
(Type "warning off MATLAB:rmpath:DirNotFound" to suppress this warning.)

Вычислите сингулярную матрицу.

A = eye(2);
B = [3 6; 4 8];
C = B\A;
Warning: Matrix is singular to working precision.

Найдите ID предупреждения, сохраните текущее состояние предупреждения и отключите определенное предупреждение

[msgStr,msgId] = lastwarn;
warnStruct = warning('off',msgId);
C = B\A;

Восстановите предыдущее состояние предупреждения.

warning(warnStruct);
C = B\A;
Warning: Matrix is singular to working precision.

Входные параметры

свернуть все

Информация о причине предупреждения и как вы можете откорректировать его, заданный как вектор символов или представить скаляр в виде строки. Чтобы отформатировать сообщение, используйте escape-последовательности, такие как \t или \n. Также можно использовать любые спецификаторы формата, поддержанные sprintf функция, такая как %s или %d. Задайте значения для спецификаторов преобразования через A1,...,An входные параметры. Для получения дополнительной информации см. Форматирующий текст.

Примечание

Необходимо задать больше чем один входной параметр с warning если вы хотите, чтобы MATLAB преобразовал специальные символы (такие как \tNS, и %d) в предупреждающем сообщении.

Пример: 'Input must be a character vector.'

Значения, которые заменяют спецификаторы преобразования в msg, заданный как вектор символов, представьте в виде строки скаляр или числовой скаляр.

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

Идентификатор сообщения включает component и mnemonic. Идентификатор должен всегда содержать двоеточие и следует за этим простым форматом: component:mnemonic. component и mnemonic поля должны каждый начаться с буквы. Оставшиеся символы могут быть буквенно-цифровым индикатором (A–Z, a–z, 0–9) и символы нижнего подчеркивания. Никакие пробельные символы не могут появиться нигде в msgID. Для получения дополнительной информации смотрите Идентификаторы сообщений.

Когда вы устанавливаете state из предупреждения, msgID может иметь значение 'all' или 'last'. Используйте 'all' установить состояние всех предупреждений и использовать 'last' установить состояние последнего выданного предупреждения.

Пример: 'MATLAB:singularMatrix'

Пример: 'MATLAB:narginchk:notEnoughInputs'

Предупреждение индикатора управления, заданного как 'on''off', или 'query'. Используйте 'on' или 'off' управлять, выдает ли MATLAB предупреждение. Используйте 'query' запрашивать текущее состояние предупреждения.

Предупреждение настроек, заданных как структура или массив структур, который содержит информацию, о которой включены предупреждения и которые отключены. warnStruct включает identifier поле с msgID или 'all', и state поле, указывающее на состояние соответствующего предупреждения.

Многословие и отображение трассировки стека настроек, заданных 'backtrace' или 'verbose'. По умолчанию состояние многословия установлено в 'off' и состояние отображения трассировки стека установлено в 'on'.

Представлено до R2006a