Since we're on a major migration process of this website, some component documents here are out of sync right now. In the meantime you may want to look at the early version of the new website
https://camel.apache.org/staging/
We would very much like to receive any feedback on the new site, please join the discussion on the Camel user mailing list.
DefaultErrorHandlerThis is the new default error handler in Camel 2.0 onwards. It has the same power as the Dead Letter Channel, however it does not support a dead letter queue, which is the only difference between the two of them. The DefaultErrorHandler is configured differently that Dead Letter Channel as it is configured to:
By default, any exception thrown during routing will be propagated back to the caller and the Exchange ends immediately. However, you can use the Exception Clause to catch a given exception and lower the exception by marking it as handled. If so, the exception will not be sent back to the caller, and the Exchange continues to be routed. ExampleIn this route below, any exception thrown in, eg the from("jetty:http://localhost/myservice/order").to("bean:validateOrder").to("jms:queue:order"); We can add an onException in case we want to catch certain exceptions and route them differently, for instance to catch a ValidationException and return a fixed response to the caller. onException(ValidationException.class).handled(true).transform(body(constant("INVALID ORDER"))); from("jetty:http://localhost/myservice/order").to("bean:validateOrder").to("jms:queue:order"); When the See Also |