-
- 所有已知实现类:
-
DefaultHandler
,DefaultHandler2
,HandlerBase
,XMLFilterImpl
public interface ErrorHandler
SAX错误处理程序的基本接口。This module, both source code and documentation, is in the Public Domain, and comes with NO WARRANTY. See http://www.saxproject.org for further information.
如果SAX应用程序需要实现自定义错误处理,则必须实现此接口,然后使用
setErrorHandler
方法向XML读取器注册实例。 然后,解析器将通过此接口报告所有错误和警告。警告:如果应用程序未注册ErrorHandler,则XML解析错误将不会报告,除非因为致命错误而抛出SAXParseException 。 为了检测有效性错误,必须注册使用
error()
调用执行某些操作的ErrorHandler。对于XML处理错误,SAX驱动程序必须首先使用此接口来抛出异常:由应用程序决定是否针对不同类型的错误和警告抛出异常。 但请注意,在调用
fatalError
之后,不要求解析器继续报告其他错误。 换句话说,SAX驱动程序类可能在报告任何fatalError后抛出异常。 解析器也可能会针对非XML错误抛出适当的异常。 例如,XMLReader.parse()
会因访问实体或文档的错误而抛出IOException。- 从以下版本开始:
- 1.4,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 Recommendation第1.2节中“错误”的定义。 例如,验证解析器将使用此回调来报告违反有效性约束。 默认行为是不采取任何操作。
在调用此方法之后,SAX解析器必须继续提供正常的解析事件:应用程序仍然可以将文档处理到最后。 如果应用程序无法执行此操作,则解析器应报告致命错误,即使XML建议不要求它执行此操作也是如此。
过滤器也可以使用此方法报告其他非XML错误。
- 参数
-
exception
- 封装在SAX解析异常中的错误信息。 - 异常
-
SAXException
- 任何SAX异常,可能包含另一个异常。 - 另请参见:
-
SAXParseException
-
fatalError
void fatalError(SAXParseException exception) throws SAXException
接收不可恢复错误的通知。此方法的文档与
ContentHandler.endDocument()
的文档之间存在明显的矛盾。 在将来的主要版本中解决这种歧义之前,客户端不应该假设当解析器报告fatalError()或抛出异常时是否将调用endDocument()。这对应于W3C XML 1.0 Recommendation第1.2节中“致命错误”的定义。 例如,解析器将使用此回调来报告对格式良好约束的违反。
应用程序必须假定在解析器调用此方法后文档不可用,并且应该仅为了收集其他错误消息而继续(如果有的话):实际上,SAX解析器可以自由地停止报告任何其他事件方法已被调用。
- 参数
-
exception
- 封装在SAX解析异常中的错误信息。 - 异常
-
SAXException
- 任何SAX异常,可能包装另一个异常。 - 另请参见:
-
SAXParseException
-
-