warning

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

Описание

пример

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

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

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

пример

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

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

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

пример

warnStruct = warning возвращает структуру или массив структур, который содержит информацию, о которой предупреждения включены и отключены. warnStruct включает identifier поле с warnID или '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.

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

[msgStr,warnId] = lastwarn;
warnStruct = warning('off',warnId);
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'. И мнемонические поля компонента должны каждый начаться с буквы. Оставшиеся символы могут быть буквенно-цифровым индикатором (A–Z, a–z, 0–9) и символы нижнего подчеркивания. Никакие пробельные символы не могут появиться нигде в warnID. Для получения информации о создании идентификаторов смотрите MException.

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

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

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

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

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

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

Расширенные возможности

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