SAXParserFactory.newSAXParser()
抛出ParserConfigurationException
和SAXException
。在文档中,我无法找出SAXException
应该抛出的原因。
什么时候SAXParserFactory.newSAXParser()
扔SAXException
?
如此处所述:
Throws:
ParserConfigurationException - if a parser cannot be created which satisfies the requested configuration.
SAXException - for SAX errors.
因此,对于 SaxParser 中不是解析配置错误的每个错误,似乎都会引发 SAXException。
正如文档指出的那样,该newSAXParser
方法是抽象的。但是,该newInstance
方法会创建一个SAXParserFactoryImpl
对象,extends
该类SAXParserFactory
并覆盖该newSAXParser
方法。
这里的newSAXParser
方法只抛出ParserConfigurationException
,但如果你看里面它会捕获一个SAXException
被翻译成的ParserConfigurationException
。com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl
方法在构造函数中抛出此异常init
。
我搜索了完整的 java 5 源代码,没有其他类可以扩展 SAXParserFactory。所以基本上,你要求的方法永远不会抛出SAXException
. 但是,如果它在途中被抛出,它会被捕获并翻译成ParserConfigurationException
.