Main Content

경고 표시 복원하기

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)

참고 항목

|

관련 항목