Java 为什么DocumentBuilder.parse抛出SaxParserException

Java 为什么DocumentBuilder.parse抛出SaxParserException,java,dom,sax,Java,Dom,Sax,从xml创建DOM的典型代码段如下所示: Document dom = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse("somefile.xml"); 我想知道为什么parse方法抛出SAXException 我查看了代码,发现DOMParserclassparse(InputSource-InputSource)方法最初抛出了这个异常 有谁能帮我理解一下,为什么DOM创建需要我们捕获SaxException?它

从xml创建DOM的典型代码段如下所示:

Document dom = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse("somefile.xml");
我想知道为什么
parse
方法抛出
SAXException

我查看了代码,发现
DOMParser
class
parse(InputSource-InputSource)
方法最初抛出了这个异常


有谁能帮我理解一下,为什么
DOM
创建需要我们捕获
SaxException
?它不是一种oximoron吗?

因为它在内部使用了一些SAXAPI

注意,这个类重用了SAXAPI中的几个类。这并不要求底层DOM实现的实现者使用SAX解析器将XML文档解析为文档。它只需要实现使用这些现有API与应用程序通信


首先,“DOM使用SAX解析器”有点有趣。其次,我没有发现在源代码中调用任何处理程序。所以不确定它是否真的使用了传统的sax解析器。您能否突出显示一些确认DOM在幕后使用SAX解析器的代码?我无法找到使用SAX解析器的代码,但我查阅了文档,发现了以下内容:请注意,这个类重用了SAXAPI中的几个类。这并不要求底层DOM实现的实现者使用SAX解析器将XML文档解析为文档。它只需要实现使用这些现有的API与应用程序通信。