在java中是否可能捕获致命的xml异常?

在java中是否可能捕获致命的xml异常?,java,xml,dom,Java,Xml,Dom,当我执行DOM XML模式验证时,当我故意不正确的测试文件中存在语法错误时,我会得到这个错误 [Fatal Error] :10:3: The element type "gizmos" must be terminated by the matching end-tag "</gizmos>". [致命错误]:10:3:元素类型“gizmos”必须由匹配的结束标记“”终止。 但是,我希望捕捉到这一点,这样它就不会发出红色的致命错误警告,而是显示一条类似“您的xml无效”的消息,

当我执行DOM XML模式验证时,当我故意不正确的测试文件中存在语法错误时,我会得到这个错误

[Fatal Error] :10:3: The element type "gizmos" must be terminated by the matching end-tag "</gizmos>".
[致命错误]:10:3:元素类型“gizmos”必须由匹配的结束标记“”终止。
但是,我希望捕捉到这一点,这样它就不会发出红色的致命错误警告,而是显示一条类似“您的xml无效”的消息,这可能吗


谢谢,

错误无法捕获,只能捕获异常

根据Java文档:

错误是Throwable的一个子类,它表示一个合理的应用程序不应该试图捕获的严重问题。大多数此类错误都是异常情况。ThreadDeath错误虽然是“正常”情况,但也是错误的一个子类,因为大多数应用程序不应该尝试捕捉它。 方法不需要在其throws子句中声明在方法执行期间可能抛出但未捕获的任何错误子类,因为这些错误是不应该发生的异常情况。也就是说,为了编译时检查异常,错误及其子类被视为未检查的异常

但是,您仍然可以捕获Throwable以捕获任何错误。但这并不推荐

catch (Throwable e) {
  //e.printStackTrace();
}

无法捕获错误,只能捕获异常

根据Java文档:

错误是Throwable的一个子类,它表示一个合理的应用程序不应该试图捕获的严重问题。大多数此类错误都是异常情况。ThreadDeath错误虽然是“正常”情况,但也是错误的一个子类,因为大多数应用程序不应该尝试捕捉它。 方法不需要在其throws子句中声明在方法执行期间可能抛出但未捕获的任何错误子类,因为这些错误是不应该发生的异常情况。也就是说,为了编译时检查异常,错误及其子类被视为未检查的异常

但是,您仍然可以捕获Throwable以捕获任何错误。但这并不推荐

catch (Throwable e) {
  //e.printStackTrace();
}
您可以捕获可丢弃(错误扩展了可丢弃):

请注意,通常建议不要这样做。您可以在此处阅读更多信息:。

您可以捕获一个可丢弃(错误扩展了可丢弃):


请注意,通常建议不要这样做。您可以在这里阅读更多信息:。

如果您使用的是JAXP验证API,那么您可以指定一个ErrorHandler来接收错误通知。使用此选项,您可以更改显示的消息及其显示位置。

如果您使用的是JAXP验证API,则可以指定一个ErrorHandler来接收错误通知。有了它,您可以更改消息的显示内容和显示位置。

还有办法完成我写的吗?还有办法完成我写的吗?
try {
       //...
} catch(Throwable e) {
        //...
}