EGL 예외 레코드

EGL은 다음과 같은 코어 예외 레코드를 정의합니다. 다양한 데이터 액세스 기술에 대해 추가적인 예외 레코드가 정의됩니다. 사용 중인 예외 레코드는 주제의 끝에 있는 "관련 참조"를 참조하십시오.

또한 코드는 "AnyException"을 확인하여 다음 예제와 같이 아래의 예외를 발견할 수 있습니다.
try
  get myCustomer;
onException(ex AnyException)
  myErrorHandler(ex);
end
다음의 모든 예외에 대해 다음과 같은 필드가 자동으로 사전 정의되어 있습니다.
messageID
예외에 대한 EGL 오류 코드가 포함된 문자열입니다.
message
문제점에 대한 간략한 설명이 포함된 문자열입니다.
다음 예외는 코어 EGL 기능의 일부입니다.
FileIOException
색인화된 파일, 상대 파일 또는 직렬 파일에 대해 읽기 또는 쓰기를 시도하는 중에 발생한 오류입니다. 레코드에는 추가적인 암시적 필드가 포함되어 있습니다.
filename
오류가 발생했을 때 액세스 중이었던 파일의 이름입니다.
IndexOutOfBoundsException
색인이 현재 컨텍스트의 한계를 초과한 값을 가지는 상황에서 발생합니다. 이는 일반적으로 배열 액세스, 하위 문자열 표현식 및 일부 시스템 함수에서 발생합니다. 레코드에는 이 추가적인 암시적 필드가 포함되어 있습니다.
indexValue
한계를 초과한 값입니다.
InvocationException
원격 프로그램을 호출할 수 없는 call문에서 발생합니다. 오류 코드는 EGL이 프로그램을 호출할 수 없는 이유를 설명합니다. 레코드에는 이 추가적인 필드가 포함되어 있습니다.
이름
호출할 수 없는 프로그램의 이름입니다.
returnValue
호출된 함수의 리턴 코드(다른 수단에 의해 InvocationException이 발생한 경우에는 0(영))를 저장합니다.
errno
서비스 프로그램 및 공유 라이브러리에 의해 설정된 이 C 표준 라이브러리 값에 대한 액세스를 제공합니다. 이 값은 returnValue가 0(영)이 아닌 경우에만 설정됩니다.
JavaObjectException
ExternalType 파트를 사용하여 프로그램이 액세스 중인 Java™ 오브젝트에서 Java 예외가 발생할 때 발생한 EGL 예외입니다. ExternalType 파트을 참조하십시오.
LobProcessingException
BLOB 또는 CLOB 유형의 변수를 처리하는 중에 발생한 오류를 식별합니다. 레코드에는 이 추가적인 필드가 포함되어 있습니다.
itemName
변수의 이름입니다.
operation
처리할 수 없는 EGL 시스템 함수의 이름입니다.
resource
변수에 첨부되는 파일의 이름입니다(있는 경우).
NullValueException
널값에 대한 참조가 작성될 때 발생합니다.
RuntimeException
플랫폼 오류가 발생할 때 발생합니다. messageID 필드에는 플랫폼 오류 코드가 포함되어 있습니다. message 필드에는 연관된 메시지가 포함되어 있습니다(얻을 수 있는 경우). 포함되어 있지 않은 경우에는 messageID를 사용하여 실패한 플랫폼 또는 EGL 기능을 판별하고 지정된 기능 문서에서 적합한 메시지를 검색할 수 있습니다.
ServiceBindingException
배치 디스크립터 파일에서 잘못된 바인딩이 지정된 경우 발생합니다.
ServiceInvocationException
EGL이 요청된 서비스를 호출할 수 없을 때 발생합니다. 네이티브 서비스의 경우에는 리턴 코드가 0(영)이 아닐 때도 이 예외가 발생합니다. 레코드에는 다음과 같은 추가적인 필드가 포함되어 있습니다.
source
서비스 호출의 유형에 따라 EGL, NATIVE 또는 WEB입니다.
detail1
source 필드가 WEB으로 설정된 경우 여기서 값은 SOAP 결함의 "FaultCode" 값입니다. source가 EGL 또는 NATIVE로 설정된 경우 detail1 필드는 공백입니다.
detail2
source 필드가 WEB으로 설정된 경우 여기서 값은 SOAP 결함의 "SOAPActor" 값입니다. source가 EGL 또는 NATIVE로 설정된 경우 detail2 필드는 공백입니다.
detail3
source 필드가 WEB으로 설정된 경우 여기서 값은 SOAP 결함의 "Diagnostic" 값입니다. source가 EGL 또는 NATIVE로 설정된 경우 detail3 필드는 공백입니다.
TypeCastException
이 예외는 as 연산자를 지원합니다. 이 예외는 캐스트 중인 값의 유형이 as 연산자에 의해 지정된 유형이 아닌 경우에 발생합니다. 레코드에는 추가적인 필드가 포함되어 있습니다.
castToName
as 연산자에 의해 이름 지정된 유형입니다.
actualTypeName
값 캐스트의 유형 이름입니다.
XMLProcessingException
XML 문자열과 레코드 사이에서 변환할 때 이 예외가 발생할 수 있습니다. 레코드에는 하나의 추가적인 필드가 포함되어 있습니다.
detail
기본 기술로부터의 오류 메시지입니다(예: SAX 구문 분석기 오류, DOM 구문 분석기 오류 또는 XPath 처리 오류).