exponenta event banner

предупреждение

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

Описание

пример

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. При передаче структуры вывода 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 преобразовывал специальные символы (например, \t, \n, %s, и %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