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

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)

См. также

|

Похожие темы