当SAXParserFactory.newSAXParser()抛出SAXException?

时间:2012-06-25 09:49:37

标签: java

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

SAXParserFactory.newSAXParser()抛出SAXException

2 个答案:

答案 0 :(得分:1)

如上所述here

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

所以看起来SaxParser中的每个错误都抛出SAXException而不是Parsing Configuration错误。

答案 1 :(得分:1)

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

此处的newSAXParser方法仅投放ParserConfigurationException,但如果您查看其中,则会捕获SAXException,并将其转换为ParserConfigurationExceptioncom.sun.org.apache.xerces.internal.jaxp.SAXParserImpl方法在init构造函数中抛出此异常。

我搜索了完整的java 5源代码,并没有其他类扩展SAXParserFactory。 所以基本上,你要求的方法永远不会抛出SAXException。 但是,如果它被抛弃,它将被捕获并转换为ParserConfigurationException