我有一个扩展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
,但因为方法本身会抛出异常,所以我看不到这样做的方法。
有吗?还是我坚持原来的例外?
答案 0 :(得分:0)
我通过将DefaultHandler2
的扩展名设置为XML解析器的XML阅读器的错误处理程序来解决这个问题,通过parser.getXMLReader()
得到(org.xml.sax.XMLReader
有一个方法{{1} } ...
覆盖setErrorHandler(ErrorHandler errorHandler)
,我可以处理致命错误。