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

时间:2010-11-24 10:02:54

标签: java transform jaxp transformer

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

由于

1 个答案:

答案 0 :(得分:1)

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

更新摘要

    发生致命错误时会抛出
  1. TransformerException,这不依赖ErrorListener或是否设置。

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