We can distinguish two main types of errors—recoverable and irrecoverable. Let's have a look at these in detail.
A recoverable error is a temporary error. It means that this error might be recovered automatically after a certain time.
An example would be a network connection that is temporarily down, resulting in IOException
.
Basically, the exceptions are represented as recoverable errors in Camel.
In that case, Camel stores the exceptions (the recoverable errors) in the exchange using the setException
(throwable cause) method:
Exchange.setException(new IOException("My exception"));
As we will see later, an exchange containing an exception will be caught by an error handler, which will react accordingly.