If the exception represents a condition whereby the component cannot
continue to function then you should just re-throw the exception. If
this is within the constructor or a lifecycle artifact delivery
operation then Merlin will cleanup for you.
If the error occurs as part of runtime execution then things are not so
strait-forward. We currently don't have a mechanism whereby a component
can notify the container of an error - however, such an error handler
facility could be written (although I think some more work on the
internal event model within merlin's composition model is probably a
prerequisite). In the meantime you would typically log the error and
cleanup internally. When logging an error you should do something like:
If( getLogger().isErrorEnabled() )
{
final String error =
"My deep and meaningful error message.";
getLogger().error( error );
}
Cheers, Steve.
-----Original Message-----
From: David Leangen [mailto:[EMAIL PROTECTED]
Sent: Tuesday, July 20, 2004 12:21 AM
To: [EMAIL PROTECTED]
Subject: Handling exceptions
Using Avalon is quite a different animal from what I'm used to... but I
love
it so far!
I am wondering, what is the best way to handle exceptions within a
service
provider? Should I just log the problem with a call to getLogger(), or
is
there a better way? Seems to me that simple logging the problem is not
sufficient, since this would not pass the problem up the component
chain...
Your insights would be greatly appreciated.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]