Java XPathExpression.evaluate何时抛出?

Java XPathExpression.evaluate何时抛出?,java,exception,xpath,semantics,Java,Exception,Xpath,Semantics,浏览API时,我的印象是它将返回有效的XPathExpression或抛出 事实上,任何编译器都会返回一个不“可运行”的对象是没有意义的 因此,当评估文档时,有效的XPathExpression仍然会抛出,这让我有点惊讶,特别是根据它的描述 XPathExpressionException表示XPath表达式中的错误 这有意义吗?compiled表达式是否仍有错误?XPath表达式中的静态错误(例如错误的XPath语法,或对未定义函数、变量或命名空间的引用)将从compile()方法引发错误 X

浏览API时,我的印象是它将返回有效的
XPathExpression
或抛出

事实上,任何编译器都会返回一个不“可运行”的对象是没有意义的

因此,当
评估
文档时,有效的
XPathExpression
仍然会抛出,这让我有点惊讶,特别是根据它的描述

XPathExpressionException表示XPath表达式中的错误


这有意义吗?
compile
d表达式是否仍有错误?

XPath表达式中的静态错误(例如错误的XPath语法,或对未定义函数、变量或命名空间的引用)将从compile()方法引发错误

XPath表达式中的动态错误将从evaluate()方法引发异常

XPath 1.0被设计为具有很少的动态错误。一个例子是count(3),这是一个错误,因为count()只能应用于节点集。在XPath2.0中,可能存在更多的动态错误