0

我有一个扩展类org.xml.sax.ext.DefaultHandler2,我在其中覆盖

public void startElement(String uri, 
    String localName, String qName, Attributes attributes) throws SAXException

它最初来自DefaultHandler2的超类型org.xml.sax.helpers.DefaultHandler

当我尝试使用BOM 解析以 UTF-8 编码的 XML 文件时,它会引发异常

[Fatal Error] :1:1: Content is not allowed in prolog.

其他地方也有详细记录。

现在,我想在我的代码(即我的类扩展)中捕获这个异常DefaultHandler2,但是因为在方法本身上抛出了这个异常,我看不到这样做的方法。

有吗?还是我坚持原来的例外?

4

1 回答 1

0

我已经通过将我的扩展设置DefaultHandler2为 XML 解析器的 XML 阅读器的错误处理程序来解决这个问题,正如通过parser.getXMLReader()(org.xml.sax.XMLReader有一个方法setErrorHandler(ErrorHandler errorHandler)...

压倒一切public void fatalError(SAXParseException e),我可以处理致命错误。

于 2017-01-13T21:55:35.187 回答