이 페이지의 최신 내용은 아직 번역되지 않았습니다. 최신 내용은 영문으로 볼 수 있습니다.

error

오류 발생 및 메시지 표시

설명

예제

error(msg)는 오류를 발생시키고 오류 메시지를 표시합니다.

error(msg,A1,...,An)은 MATLAB® sprintf 함수에 사용되는 것과 같이 형식 변환 문자를 포함하는 오류 메시지를 표시합니다. msg의 각 변환 문자는 값 A1,...,An 중 하나로 변환됩니다.

error(msgID,___)는 예외에 대한 오류 ID를 포함합니다. 이 ID를 통해 오류를 구별하고 MATLAB에서 오류가 발생할 때 수행할 동작을 제어할 수 있습니다. 위에 열거된 구문의 입력 인수 중 하나를 포함할 수 있습니다.

예제

error(errorStruct)는 스칼라 구조체의 필드를 사용하여 오류를 발생시킵니다.

예제

모두 축소

msg = 'Error occurred.';
error(msg)
Error occurred.

줄 바꿈을 사용하여 서식이 설정된 오류 메시지를 발생시킵니다. MATLAB에서 오류 메시지에 포함된 특수 문자(예: \n)를 변환하려면 error에 둘 이상의 입력 인수를 지정해야 합니다. 오류 메시지에 변수 n의 클래스에 대한 정보를 포함합니다.

n = 7;
if ~ischar(n)
   error('Error. \nInput must be a char, not a %s.',class(n))
end
Error.
Input must be a char, not a double.

error에 하나의 입력 인수만 사용하는 경우 MATLAB은 \n을 줄 바꿈으로 변환하지 않습니다.

if ~ischar(n)
   error('Error. \nInput must be a char.')
end
Error. \nInput must be a char.

ID와 함께 오류를 발생시킵니다.

if ~ischar(n)
   error('MyComponent:incorrectType',...
       'Error. \nInput must be a char, not a %s.',class(n))
end
Error.
Input must be a char, not a double.

MException.last를 사용하여 마지막 uncaught exception을 확인합니다.

exception = MException.last
exception = 

  MException with properties:

    identifier: 'MyComponent:incorrectType'
       message: 'Error. 
Input must be a char, not a double.'
         cause: {0x1 cell}
         stack: [0x1 struct]

메시지 필드와 ID 필드가 있는 구조체를 생성합니다. 예제를 단순하게 유지하도록 스택 필드를 사용하지 마십시오.

errorStruct.message = 'Data file not found.';
errorStruct.identifier = 'MyFunction:fileNotFound';
errorStruct = 

       message: 'Data file not found.'
    identifier: 'MyFunction:fileNotFound'

오류를 발생시킵니다.

error(errorStruct)
Data file not found.

입력 인수

모두 축소

오류에 대한 정보로, 문자형 벡터 또는 string형 스칼라로 지정됩니다. 이 메시지는 오류 메시지로 표시됩니다. 메시지의 형식을 지정하려면 \t, \n 등의 이스케이프 시퀀스를 사용하십시오. sprintf 함수가 지원하는 형식 지정자(예: %s 또는 %d)를 사용할 수도 있습니다. A1,...,An 입력 인수를 통해 변환 지정자의 값을 지정합니다. 자세한 내용은 텍스트 형식 지정하기 항목을 참조하십시오.

참고

MATLAB에서 오류 메시지에 포함된 특수 문자(예: \t, \n, %s, %d)를 변환하도록 하려면 error에 두 개 이상의 입력 인수를 지정해야 합니다.

예: 'File not found.'

오류 ID로, 문자형 벡터 또는 string형 스칼라로 지정됩니다. 오류 ID를 사용하여 프로그램 내에서 오류의 원인을 보다 효율적으로 식별하거나 선정한 오류 모음을 제어할 수 있습니다.

오류 ID에는 componentmnemonic이 포함됩니다. ID는 항상 콜론을 포함해야 하며 다음의 간단한 형식을 따릅니다. (component:mnemonic) component 필드와 mnemonic 필드는 각각 문자로 시작해야 합니다. 나머지 문자는 영숫자(A–Z, a–z, 0–9)나 밑줄일 수 있습니다. msgID는 공백 문자를 포함할 수 없습니다. 자세한 내용은 메시지 ID 항목을 참조하십시오.

예: 'MATLAB:singularMatrix'

예: 'MATLAB:narginchk:notEnoughInputs'

msg의 변환 지정자를 대체하는 값으로, 문자형 벡터, string형 스칼라 또는 숫자형 스칼라로 지정됩니다.

오류 보고 정보로, 스칼라 구조체로 지정됩니다. 구조체는 다음 필드 중 하나 이상을 포함해야 합니다.

message

오류 메시지. 자세한 내용은 msg를 참조하십시오.

identifier

오류 메시지 ID. 자세한 내용은 msgID 항목을 참조하십시오.

stack

오류에 대한 스택 필드. errorStructstack 필드가 포함된 경우, error가 이를 사용하여 오류에 대한 스택 필드를 설정합니다. stack을 지정하는 경우 절대 파일 이름과 스택 프레임에 함수를 중첩하는 전체 함수 시퀀스를 사용하십시오. 이 문자형 벡터는 dbstack('-completenames')에서 반환하는 것과 동일합니다.

  • 오류가 발생하면 MATLAB이 발생한 오류에 대한 정보를 캡처하고 이를 MException 클래스 객체에 해당하는 데이터 구조체에 저장합니다. try/catch를 사용하여 예외 객체의 정보에 액세스할 수 있습니다. 또는 예외로 인해 프로그램이 종료되고 명령 프롬프트 제어로 돌아가는 경우 MException.last를 사용할 수 있습니다.

  • try 블록 내에서 오류가 발생하는 경우, MATLAB은 프로그램의 실행을 중단하지 않습니다. 이 경우 MATLAB은 catch 블록으로 제어를 전달합니다.

  • error에 대한 모든 입력값이 비어 있는 경우 MATLAB은 오류를 발생시키지 않습니다.

확장 기능

GPU 배열
Parallel Computing Toolbox™를 사용해 GPU(그래픽스 처리 장치)에서 실행하여 코드 실행 속도를 높일 수 있습니다.

R2006a 이전에 개발됨