Восстановление предупреждений

MATLAB® позволяет вам сохранять состояния предупреждения on-off, изменять предупреждение состояний и восстанавливать исходные состояния предупреждения. Это полезно, если необходимо временно выключить некоторые предупреждения и позже восстановить исходные настройки.

Следующий оператор сохраняет текущее состояние всех предупреждений в массиве структур под названием orig_state:

orig_state = warning;

Чтобы восстановить исходное состояние после любых модификаций предупреждения, используйте этот синтаксис:

warning(orig_state);

Также можно сохранить текущее состояние и переключить предупреждения в единственной команде. Например, оператор, orig_state = warning('off','all'); эквивалентен командам:

orig_state = warning;
warning('off','all')

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

Этот пример показывает вам, как восстановить состояние конкретного предупреждения.

  1. Запросите Control:parameterNotSymmetric, предупреждающий:

     warning('query','Control:parameterNotSymmetric')
    
    The state of warning 'Control:parameterNotSymmetric' is 'on'.

  2. Выключите Control:parameterNotSymmetric, предупреждающий:

    orig_state = warning('off','Control:parameterNotSymmetric')
    
    orig_state = 
    
        identifier: 'Control:parameterNotSymmetric'
             state: 'on'

    orig_state содержит состояние предупреждения, прежде чем MATLAB выключит Control:parameterNotSymmetric.

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

    warning
    The default warning state is 'on'. Warnings not set to the default are
    
    State  Warning Identifier
    
        off  Control:parameterNotSymmetric
    MATLAB указывает, что Control:parameterNotSymmetric является 'off'.

  4. Восстановите исходное состояние:

    warning(orig_state)
    warning('query','Control:parameterNotSymmetric')
    The state of warning 'Control:parameterNotSymmetric' is 'on'.

Отключение и восстановление нескольких предупреждений

Этот пример показывает вам, как сохранить и восстановить несколько состояний предупреждения.

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

    w(1) = warning('off','MATLAB:rmpath:DirNotFound');
    w(2) = warning('off','MATLAB:singularMatrix');
    w(3) = warning('off','Control:parameterNotSymmetric');
    warning
    The default warning state is 'on'. Warnings not set to the default are
    
    State  Warning Identifier
    
        off  Control:parameterNotSymmetric
        off  MATLAB:rmpath:DirNotFound
        off  MATLAB:singularMatrix
  2. Восстановите эти три предупреждения их исходное состояние и запросите все предупреждения:

    warning(w)
    warning
    All warnings have the state 'on'.

    Вы не должны хранить информацию о предыдущих состояниях предупреждения в массиве, но выполнение так позволяет вам восстанавливать предупреждения с одной командой.

Примечание

Временно запрещение нескольких предупреждений, с помощью методов, связанных с onCleanup, может быть выгодным.

Также можно сохранить и восстановить все предупреждения.

  1. Включите все предупреждения и сохраните исходное состояние предупреждения:

    orig_state = warning('on','all');
  2. Восстановите свои предупреждения предыдущему состоянию:

    warning(orig_state)

Смотрите также

|

Похожие темы

Была ли эта тема полезной?