JavaTM Platform
Standard Ed. 6

org.xml.sax
인터페이스 ErrorHandler

기존의 구현 클래스의 일람:
DefaultHandler , DefaultHandler2 , HandlerBase , XMLFilterImpl


public interface ErrorHandler

SAX 에러 핸들러의 기본 인터페이스입니다.

이 모듈은, 원시 코드, 문서 모두 공개 도메인에 놓여져 있습니다. 따라서, 내용에 관한보증은 일절 제공되지 않습니다. 상세한 것에 대하여는,http://www.saxproject.org 를 참조해 주세요.

커스텀 에러 처리를 구현할 필요가 있는 경우, SAX 어플리케이션은 이 인터페이스를 구현해,setErrorHandler 메소드를 사용해 XML 리더에게 인스턴스를 등록할 필요가 있습니다. 이것으로, 퍼서는 이 인터페이스를 개입시켜 모든 에러 및 경고를 보고하게 됩니다.

경고: 어플리케이션이 ErrorHandler 를 등록하고 있지 않는 경우, 「SAXParseException」가 치명적인 에러로서 throw 되는 경우를 제외해 XML 구문 분석 에러는 보고되지 않습니다. 타당성 에러를 검출하려면 ,error() 호출을 처리하는 ErrorHandler 를 등록할 필요가 있습니다.

XML 처리 에러의 경우, SAX 드라이버는, 예외가 throw 되기 전에 이 인터페이스를 사용할 필요가 있습니다. 타입이 다른 에러나 경고의 예외를 throw 할지 어떨지를 결정하는 어플리케이션과 그렇지 않은 어플리케이션이 있습니다. 다만,fatalError 의 호출 후에, 퍼서가 추가의 에러를 계속 보고할 것은 없습니다. 즉, fatalError 의 보고 후는, SAX 드라이버 클래스가 예외를 throw 하는 일이 있습니다. 또, 퍼서는 XML 이외의 에러에 대해서 적절한 예외를 throw 하는 일도 있습니다. 예를 들어,XMLReader.parse() 는, 엔티티 또는 문서에 액세스 하는 에러에 대해서 IOException 를 throw 합니다.

도입된 버젼:
SAX 1.0
관련 항목:
XMLReader.setErrorHandler(org.xml.sax.ErrorHandler) , SAXParseException

메소드의 개요
 void error (SAXParseException  exception)
          회복 가능한 에러의 통지를 받습니다.
 void fatalError (SAXParseException  exception)
          회복할 수 없는 에러의 통지를 받습니다.
 void warning (SAXParseException  exception)
          경고의 통지를 받습니다.
 

메소드의 상세

warning

void warning(SAXParseException  exception)
             throws SAXException 
경고의 통지를 받습니다.

SAX 퍼서는 이 메소드를 사용해, XML 권고에 정의된 에러 또는 치명적인 에러 이외의 조건을 보고합니다. 디폴트의 동작에서는 아무것도 실행되지 않습니다.

SAX 퍼서는, 이 메소드의 호출 후도 표준 구문 분석 이벤트를 계속 제공할 필요가 있습니다. 이것은, 어플리케이션이 문서 처리를 끝까지 할 수 없으면 안 되기 때문입니다.

필터는, 이 메소드를 사용해 그 외의 비 XML 경고도 보고할 수 있습니다.

파라미터:
exception - SAX 구문 분석 예외에 캡슐화되었다 경고 정보
예외:
SAXException - SAX 예외. 다른 예외를 랩 하고 있을 가능성이 있는
관련 항목:
SAXParseException

error

void error(SAXParseException  exception)
           throws SAXException 
회복 가능한 에러의 통지를 받습니다.

이것은, W3C XML 1.0 권고 섹션 1.2 의 「에러」의 정의에 상당합니다. 예를 들어, 타당성을 검증하는 퍼서는, 이 콜백을 사용해 타당성 제약 위반을 보고합니다. 디폴트의 동작에서는 아무것도 실행되지 않습니다.

SAX 퍼서는, 이 메소드의 호출 후도 표준 구문 분석 이벤트를 계속 제공할 필요가 있습니다. 이것은, 어플리케이션이 문서 처리를 끝까지 할 수 없으면 안 되기 때문입니다. 필수 사항으로서 XML 권고에 정의되고 있는 것은 아닙니다만, 어플리케이션이 문서 처리를 끝까지 할 수 없는 경우, 퍼서는 치명적인 에러를 보고합니다.

필터는, 이 메소드를 사용해 그 외의 비 XML 에러도 보고할 수 있습니다.

파라미터:
exception - SAX 구문 분석 예외에 캡슐화되었다 에러 정보
예외:
SAXException - SAX 예외. 다른 예외를 랩 하고 있을 가능성이 있는
관련 항목:
SAXParseException

fatalError

void fatalError(SAXParseException  exception)
                throws SAXException 
회복할 수 없는 에러의 통지를 받습니다.

이 메소드의 메뉴얼과 ContentHandler.endDocument() 의 메뉴얼과의 사이에는 분명하게 모순이 있습니다. 클라이언트는, 향후의 메이저 릴리스로 이 애매함이 해결되지 않는 한, 퍼서가 fatalError()를 보고하거나 예외를 throw 했을 때에 endDocument()가 불려 갈지 어떨지를 가정하지 않게 할 필요가 있습니다.

이것은, W3C XML 1.0 권고 섹션 1.2 의 「치명적인 에러」의 정의에 상당합니다. 예를 들어, 퍼서는, 이 콜백을 사용해 정형식 제약 위반을 보고합니다.

퍼서가 이 메소드를 호출한 뒤, 어플리케이션은 문서를 사용할 수 없게 되었다고 판단해, 그 외의 에러 메세지를 수집할 뿐(만큼)의 목적으로 처리를 속행합니다. 즉, SAX 퍼서는, 이 메소드를 호출한 뒤, 그 외의 이벤트의 보고를 정지해도 괜찮습니다.

파라미터:
exception - SAX 구문 분석 예외에 캡슐화되었다 에러 정보
예외:
SAXException - SAX 예외. 다른 예외를 랩 하고 있을 가능성이 있는
관련 항목:
SAXParseException

JavaTM Platform
Standard Ed. 6

버그의 보고와 기능의 요청
한층 더 자세한 API 레퍼런스 및 개발자 문서에 대해서는,Java SE 개발자용 문서를 참조해 주세요. 개발자전용의 상세한 해설, 개념의 개요, 용어의 정의, 버그의 회피책, 및 코드 실례가 포함되어 있습니다.

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.