SAXParserFactory.newSAXParser()
引发ParserConfigurationException
和SAXException
。在doc中,我无法找出为什么应抛出SAXException
的原因。
什么时候SAXParserFactory.newSAXParser()
抛出SAXException
?
最佳答案
正如documentation指出的,newSAXParser
方法是抽象的。但是,newInstance
方法创建一个SAXParserFactoryImpl
对象,该对象extends
SAXParserFactory
类并覆盖newSAXParser
方法。
此处的newSAXParser
方法仅引发ParserConfigurationException
,但是如果您查看内部,则会捕获到被翻译为SAXException
的ParserConfigurationException
。com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl
方法在init
构造函数中引发此异常。
我已经搜索了完整的Java 5源代码,没有其他类可以扩展SAXParserFactory。
因此,基本上,您要求的方法永远不会抛出SAXException
。
但是,如果在途中被抛出,则会被捕获并转换为ParserConfigurationException
。