Программа может выдавать предупреждения, которые не всегда отрицательно влияют на выполнение. Чтобы избежать путаницы, можно скрыть предупреждающие сообщения во время выполнения, изменив их состояния с 'on'
на 'off'
.
Чтобы подавить определенные предупреждающие сообщения, необходимо сначала найти идентификатор предупреждения. Каждое предупреждающее сообщение имеет уникальный идентификатор. Чтобы найти идентификатор, сопоставленный с MATLAB® предупреждение, воспроизведите предупреждение. Например, этот код воспроизводит предупреждение, выданное, если MATLAB пытается удалить несуществующую папку:
rmpath('folderthatisnotonpath')
Warning: "folderthatisnotonpath" not found in path.
Примечание
Если этот оператор не выдает предупреждающее сообщение, используйте следующий код, чтобы временно включить отображение всех предупреждений, а затем восстановить исходное состояние предупреждения:
w = warning ('on','all'); rmpath('folderthatisnotonpath') warning(w)
Чтобы получить информацию о последнем выданном предупреждении, используйте warning
или lastwarn
функций. Этот код использует query
состояние для возврата структуры данных, содержащей идентификатор и текущее состояние последнего предупреждения:
w = warning('query','last')
w = identifier: 'MATLAB:rmpath:DirNotFound' state: 'on'
id
:id = w.identifier;
Примечание
warning('query','last')
возвращает последнее отображаемое предупреждение. MATLAB отображает только предупреждающие сообщения, которые state: 'on'
и идентификатор предупреждения.
Использование lastwarn
функцию можно извлечь последнее предупреждающее сообщение, независимо от ее состояния отображения:
lastwarn
ans = "folderthatisnotonpath" not found in path.
После того, как вы получите идентификатор от query
используйте эту информацию для отключения или включения предупреждения, связанного с этим идентификатором.
Продолжая пример из предыдущего раздела, поверните предупреждение 'MATLAB:rmpath:DirNotFound'
off, и повторите операцию.
warning('off',id) rmpath('folderthatisnotonpath')
MATLAB не отображает никаких предупреждений.
Включите предупреждение и попытайтесь удалить несуществующий путь:
warning('on',id) rmpath('folderthatisnotonpath')
Warning: "folderthatisnotonpath" not found in path.
Теперь MATLAB выдает предупреждение.
Совет
Отключите последнее активированное предупреждение с помощью warning('off','last')
.
Термин «все» относится только к тем предупреждениям, которые были выданы или изменены во время текущего сеанса работы с MATLAB. Измененные состояния предупреждения сохраняются только в текущем сеансе. Запуск нового сеанса восстанавливает настройки по умолчанию.
Используйте идентификатор 'all'
для представления группы всех предупреждений. Просмотрите состояние всех предупреждений с любым синтаксисом:
warning('query','all')
warning
Чтобы включить все предупреждения и проверить состояние:
warning('on','all') warning('query','all')
All warnings have the state 'on'.
Чтобы отключить все предупреждения и проверить состояние, используйте следующий синтаксис:
warning('off','all') warning
All warnings have the state 'off'.