# Interface ErrorListener

public interface ErrorListener
The listener interface used by a `TransformerFactory` or `Transformer` to notify callers of error messages that occur during a transformation process. An ErrorListener receives three levels of messages: warnings, errors and fatal errors as classified by their severity. Each of them is handled as described in their respective method.

An ErrorListener instance can be registered to a `TransformerFactory` or `Transformer` through the `TransformerFactory.setErrorListener(ErrorListener)` or `Transformer.setErrorListener(ErrorListener)` method to receive errors and warnings reported by the TransformerFactory or Transformer.

When a listener is registered, the `TransformerFactory` or `Transformer` must use this interface to pass on all warnings and errors to the listener and let the application decide how to handle them. Note that the `TransformerFactory` or `Transformer` is not required to continue with the transformation after a call to `fatalError(TransformerException exception)`.

If an application does not provide a listener, the `TransformerFactory` or `Transformer` shall create one on its own. The default `ErrorListener` may take no action for warnings and recoverable errors, and allow the transformation to continue. However, the `TransformerFactory` or `Transformer` may still throw `TransformerException` when it decides it can not continue processing.

API Note:
  It is recommended that applications register and use their own `ErrorListener` to override the default behavior in order to ensure proper handling of warnings and errors.
Since:
  1.4

## Method Summary

Modifier and Type
Method
Description
`void`
`error(TransformerException exception)`
Receive notification of a recoverable error.
`void`
`fatalError(TransformerException exception)`
Receive notification of a non-recoverable error.
`void`
`warning(TransformerException exception)`
Receive notification of a warning.

## Method Details

### warning

void warning(TransformerException exception) throws TransformerException
Receive notification of a warning.

`Transformer` can use this method to report conditions that are not errors or fatal errors. The default behaviour is to take no action.

After invoking this method, the Transformer must continue with the transformation. It should still be possible for the application to process the document through to the end.

Parameters:
  `exception` - The warning information encapsulated in a transformer exception.
Throws:
  `TransformerException` - if the application chooses to discontinue the transformation.
See Also:
  - `TransformerException`

### error

void error(TransformerException exception) throws TransformerException
Receive notification of a recoverable error.

The transformer must continue to try and provide normal transformation after invoking this method. It should still be possible for the application to process the document through to the end if no other errors are encountered.

Parameters:
  `exception` - The error information encapsulated in a transformer exception.
Throws:
  `TransformerException` - if the application chooses to discontinue the transformation.
See Also:
  - `TransformerException`

### fatalError

void fatalError(TransformerException exception) throws TransformerException

Receive notification of a non-recoverable error.

The processor may choose to continue, but will not normally proceed to a successful completion.

The method should throw an exception if it is unable to process the error, or if it wishes execution to terminate immediately. The processor will not necessarily honor this request.

Parameters:
  `exception` - The error information encapsulated in a `TransformerException`.
Throws:
  `TransformerException` - if the application chooses to discontinue the transformation.
See Also:
  - `TransformerException`