开发者

java errorlistener use on a transformer instance(jaxp)

开发者 https://www.devze.com 2023-01-26 22:08 出处:网络
The signature for method transform of Transformer is voidtransform(Source xmlSource,Result outputTarget)throws TransformerException i.e. specifies t开发者_开发问答hat it

The signature for method transform of Transformer is void transform(Source xmlSource,Result outputTarget)throws TransformerException i.e. specifies t开发者_开发问答hat it throws a checked exception of type TransformerException.

I can not understand how ErrorListener fits in.

If an ErrorListener is set to Transform object does this mean that the exception will not be thrown?

If it is thrown anyway how is an ErrorListener useful?

Thanks


If ErrorListener is not set, the error/warning message will go to System.err, so it is useful to redirect error messages. It is up to application to decide should it continue transformation, if an error/warning occured. If the appropriate method in ErrorListener throws an exception, the transformation will exit with TransformerException. On fatalError transformation will be stopped, even if ErrorListener::fatalError doesn't throw an exception.

Update Summary

  1. TransformerException is thrown, when a fatal error occurs, and this doesn't depend on ErrorListener or whether it is set or not.

  2. TransformerException is thrown, when a recoverable error or a warning occurs, the ErrorListener is set, and the corresponding method (error or warning) has thrown an exception. So the application can decide what to do on rec. errors and warnings.

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号