throw

EGL throw 문은 트리거할 예외를 지정합니다. 그러면 다음과 같은 영향을 미칩니다.
  • 프로그램 처리 중지
  • try 블록에서 예외가 처리되는 경우 해당 try 블록 내에서 첫 번째 적합한 onException 블록에 제어를 전달합니다. 자세한 내용은 try의 내용을 참조하십시오.
  • try 블록에서 예외가 처리되지 않는 경우에는 프로그램이 종료되고 지정된 예외 레코드에 메시지가 기록됩니다.
throw 문을 사용하여 예외 표현식(예외 변수의 유형으로 해석되는 표현식, 예외 스테레오타입 참조)을 지정하십시오. 이와 같은 표현식에서 사용할 수 있는 두 가지 양식은 다음과 같습니다.
// when the exception is already defined
nullEx NullValueException;
...
throw nullEx;

// define and declare
Record CustomerException type Exception
  customerNumber INT;
end...
throw new customerException { 
  customerNumber = custNum,
  message = "Illegal customer number" };

예외는 오류 지점에서 위로 전파됩니다. try 문은 중첩 깊이에 관계 없이 try 블록에서 호출된 모든 함수에서 발생하는 예외를 처리할 수 있습니다. 예외 핸들링 프로세스에 대한 자세한 정보는 예외 핸들링의 내용을 참조하십시오.

구문

throw
문의 구문 다이어그램
exceptionExpression
값의 유형이 예외 변수의 유형과 같은 표현식입니다.

호환성

표 1. throw의 호환성 고려사항
플랫폼 문제
V6 예외 호환 모드 v60ExceptionCompatibility 프로그램 특성이 YES로 설정된 경우 throw 문이 올바르지 않습니다.