java errorlistener 在转换器实例上的使用(jaxp)

标签 java transform jaxp transformer-model

Transformer 方法转换的签名是 void transform(Source xmlSource,Result outputTarget)throws TransformerException 即指定它 抛出类型为 TransformerException 的已检查异常。
我不明白 ErrorListener 是如何适应的。
如果将 ErrorListener 设置为 Transform 对象,这是否意味着不会抛出异常?
如果它无论如何都会被抛出,ErrorListener 有什么用?

谢谢

最佳答案

如果未设置ErrorListener,错误/警告消息将转到System.err,因此重定向错误消息很有用。如果发生错误/警告,则由应用程序决定是否继续转换。如果 ErrorListener 中的适当方法抛出异常,则转换将退出并返回 TransformerException。在 fatalError 上,转换将停止,即使 ErrorListener::fatalError 没有抛出异常。

更新总结

  1. TransformerException 在发生 fatal error 时抛出,这与 ErrorListener 或是否已设置无关。

  2. TransformerException 抛出,当可恢复的错误或警告发生时,设置ErrorListener,并相应的方法(errorwarning) 抛出异常。因此,应用程序可以决定在 rec 上做什么。错误和警告。

关于java errorlistener 在转换器实例上的使用(jaxp),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4265526/

相关文章:

java - 如何选择使用 Maven 执行哪些 JUnit5 标签

python - 有没有更简单的方法来转换这些 python 对象

javascript - 使用 jQuery 更新 CSS 变换值

java - 如何获取具有不同属性的XML标签的值?

java - 使用 SpringJMS 设置每条消息的过期时间

java - 由于 XSD 上的 HTTPS 而导致的 wsimport schema_reference 警告

java - 解析嵌套在其他 XML 值中的 XML 标记

java - XML 验证不验证功能

java - 将 Android 数据库用于待办事项列表

Firefox 中的 CSS Transform Perspective 坏像素化