Sorry, I forget to say, this is running on camel 2.2; I have checked the camel's document and source-code; the camel-document say " try-catch will disable the error-handler"; but while I checking the source-code of camel , it only disable error-handlers of node (which is conjunction with doTry pattern).
In the following example, only <filter> processor is conjunction with <doTry>. So only filter processor's error-handler is disabled. But error-handlers of other processor which defined inside filter is not disabled. So the catch-clause is not invoked. Is it a bug? --------------------------------------------------------------------------- Follow route use a default-error-handler for the route, and also defined a custom exception handle logic using try-catch-pattern. But if the "myProcessRaiseError" raised exception the catch-clause cannot be invoked; Why? Is it camel's bug? <route> <from uri="ws:... "/> <bean ...> <doTry> <filter> <simple>${body} == 'firstChoice'</simple> <bean ref="myProcess" /> <bean ref="myProcessRaiseError"/> </filter> <doCatch> ..some error handler... </doCatch> </doTry> <process ...> </route>