Michael Allman wrote:
> On Wed, 27 Jul 2005, Oliver Jowett wrote:
>
>> I absolutely disagree with there being no benefit. We should provide
>> as much information as possible in the exception. All hhe TM *has* to
>> log is the exception we give it, really, so that better have all the
>> information we can give about any underlying problems.
>
> In cases where an XAException is thrown due to another exception, say
> SQLException, I believe I was consistent in writing the cause
> exception's stack trace to the DriverManager's log writer. I think that
> covers logging cause exceptions for the most part.
Logging stack traces to the log writer isn't acceptable really, you have
no idea whether that's going somewhere that is useful. The
implementation of the standard java.sql classes means that the log
writer isn't useful for much beyond debugging, you pretty much have to
disable it for any production use. Also, the rest of the driver chains
exceptions rather than use the log writer in similar situations -- why
is the XA code special?
> I'm not really disputing that putting nice string messages in all our
> thrown exceptions is bad, just that in this particular use case it's
> probably not worth the effort. (The effort being dealing with the fact
> that XAException does not take an error code and string message at once.)
Put it this way: I consider generating useful exceptions a prerequisite
for new code going into CVS.
-O