0

SAXParserFactory.newSAXParser()抛出ParserConfigurationExceptionSAXException。在文档中,我无法找出SAXException应该抛出的原因。

什么时候SAXParserFactory.newSAXParser()SAXException

4

2 回答 2

1

如此处所述:

Throws:
ParserConfigurationException - if a parser cannot be created which satisfies the requested configuration.
SAXException - for SAX errors.

因此,对于 SaxParser 中不是解析配置错误的每个错误,似乎都会引发 SAXException。

于 2012-06-25T10:15:48.690 回答
1

正如文档指出的那样,该newSAXParser方法是抽象的。但是,该newInstance方法会创建一个SAXParserFactoryImpl对象,extends该类SAXParserFactory并覆盖该newSAXParser方法。

这里的newSAXParser方法只抛出ParserConfigurationException,但如果你看里面它会捕获一个SAXException被翻译成的ParserConfigurationExceptioncom.sun.org.apache.xerces.internal.jaxp.SAXParserImpl方法在构造函数中抛出此异常init

我搜索了完整的 java 5 源代码,没有其他类可以扩展 SAXParserFactory。所以基本上,你要求的方法永远不会抛出SAXException. 但是,如果它在途中被抛出,它会被捕获并翻译成ParserConfigurationException.

于 2012-06-25T10:32:41.857 回答