메시지 핸들러 사용
오류 및 기타 메시지를 처리하는 준비 시간 및 실행 시간의 기본 동작은 System.err에 메시지를 인쇄하고 복구 불가능한 오류의 경우 XProcessException도 발생합니다. 준비 시간에 오류가 발생한 경우 프로세서는 준비를 계속 시도하며, XProcessException 생성 전에 모든 오류를 알리지만, 실행 파일은 생성되지 않습니다. 런타임에 실행은 오류 상황의 첫 번째 항목에서 중지됩니다.
프로시저
- XMessageHandler 인터페이스에 정의된 다음 열거자 중 하나:
- 오류는 단순히 정보용이며, 결과에 영향을 주지 않음을 표시합니다.
또한 종료 속성이 "no"로 평가된 경우 XSLT 메시지 지시사항에 대해서도 사용됩니다.
- 경고 표시
프로세서는 경고 상황에서 복구하지만 결과는 예상과 다를 수 있습니다.
- 복구 가능한 오류 표시
프로세서는 추가 오류 신호를 알리기 위한 목적으로 이 오류에서 복구할 수도 있지만, 결과는 생성되지 않습니다.
- 복구 불가능한 오류 표시
프로세서는 이 오류에서 복구할 수 없습니다. 또한 종료 속성이 "yes"로 평가된 경우 XSLT 메시지 지시사항에 대해서도 사용됩니다.
- XPath fn:trace 함수에 대한 호출로 메시지가 생성됨을 표시
- 오류는 단순히 정보용이며, 결과에 영향을 주지 않음을 표시합니다.
- 오류 메시지
- 사용 가능한 경우 XSourceLocation로 표시하는 소스 위치
일반적으로 소스 위치는 실행 시간 오류에서 사용 불가능합니다.
- 사용 가능한 경우 오류의 원인이 되는 원래 예외
입력 문서가 올바르지 않은 경우(예를 들어, XML 구문 분석기가 이 매개변수를 통해 보고 메소드로 전달되는 예외를 생성하는 경우).
- XPath fn:error 함수에 대해 error-object 매개변수에 지정된 항목
XMessageHandler의 구현은 System.err에 메시지를 보내는 대신, 로그 파일에 기록하는 방식과 같이 원하는 대로, 오류 및 기타 메시지를 표시할 수 있습니다. 또한 보다 엄격하며, 예외를 생성하여 복구 가능한 오류를 포함해 오류 이후 컴파일 또는 실행을 중지할 수도 있습니다. 보고 메소드에 throws 절이 없으면 예외를 해제해야 합니다. 또한 구현은 정보용 및 경고 메시지를 무시하도록 선택할 수도 있습니다. 즉, XMessageHandler를 등록하면 목적에 적합하도록 애플리케이션이 메시지 처리를 구성할 수 있습니다.
복구 불가능한 오류의 경우 등록된 메시지 핸들러가 예외를 생성하지 않으면 프로세서에 의해 XProcessException이 발생합니다.