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 처리 오류).