camel-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alfred Hiebl (Created) (JIRA)" <j...@apache.org>
Subject [jira] [Created] (CAMEL-4636) Tracing of exceptions
Date Mon, 07 Nov 2011 11:21:51 GMT
Tracing of exceptions
---------------------

                 Key: CAMEL-4636
                 URL: https://issues.apache.org/jira/browse/CAMEL-4636
             Project: Camel
          Issue Type: Improvement
          Components: camel-core
    Affects Versions: 2.6.0
            Reporter: Alfred Hiebl


When a bean in a traced route throws an exception (e.g. NullPointerException) one would expect
to see that in the causedByException property of the DefaultTraceEventMessage. But the exception
is null.

The reason is that in DefaultTraceEventMessage the causedByException is set to exchange.getException(),
at a time where it is already handled. The exception is still available as property Exchange.EXCEPTION_CAUGHT.

Suggestion for change:

{code}
public DefaultTraceEventMessage(final Date timestamp, final ProcessorDefinition<?> toNode,
final Exchange exchange) {
        this.tracedExchange = exchange;
        ...
        this.causedByException = exchange.getException() != null ? exchange.getException().toString()
				: extractExceptionCaught(exchange);
} 
 
// used to set causedByException in cases where the exception is already handled 
private static String extractExceptionCaught(Exchange exchange) {
 	Exception exceptionCaught = (Exception) exchange.getProperty(Exchange.EXCEPTION_CAUGHT);
 	return (exceptionCaught != null ? exceptionCaught.toString() : null);
}
{code}


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message