예외 스테레오타입

대부분의 경우 스테레오타입(스테레오타입 참조)은 SQL과 같은 데이터 액세스 기술 또는 특정 UI 기술 등 특정 기술과 연관이 있습니다. 예외 스테레오타입 자체가 이 규칙의 예외입니다. 이 키워드는 프로그램 코드 내에서 특정 유형의 예외를 처리하거나 예외 처리(throw)할 수 있도록 레코드를 특화합니다. 자세한 논의는 예외 핸들링의 내용을 참조하십시오.

레코드를 예외로 스테레오타입 지정하는 경우 EGL이 두 개의 암시적 필드를 사전정의합니다.
  • messageID STRING;
  • message STRING;

시스템 예외의 경우 이들 필드에 ID(예: "EGL0050E")와 설명(예: "표현식 0 / 0에서 오버플로우")이 있습니다. 오류가 EGL 버전 6에서 sysVar.errorCode를 설정한 오류인 경우 설명에 해당 오류 코드의 값이 포함됩니다(errorCode 참조).

Exception 레코드를 작성하면 사용자가 정의하지 않아도 자동으로 해당 필드에 대한 액세스 권한을 갖습니다. (암시적 필드에 대한 자세한 정보는 특성의 내용을 참조하십시오.) 대부분의 경우 필요한 필드는 이들 필드뿐입니다. 추가 필드가 필요한 경우에는 다음 예제와 같이 레코드 정의 내에서 필드를 선언하십시오.
Record TransactionException type Exception
  transType INT;
end

EGL은 여러 코어 Exception 레코드를 정의합니다. 세부사항은 부록 "EGL Exception 레코드"를 참조하십시오.

여러 기술에 대한 추가 Exception 레코드가 정의되어 있습니다. 사용 중인 레코드와 관련된 정보는 이 주제의 끝에 있는 관련 참조 링크를 참조하십시오.