Fredrik Lundh wrote:

> Delaney, Timothy (Tim) wrote:
> 
>> The most important problem here is that you've lost the stack trace
from
>> the original exception.
>
> which, in many cases, is a good thing, especially if you replace "int"
> with a call to some low-level support library.  if I call API "foo" to
> open a data file of some kind, I'm not necessarily interested in an
> "unsubscriptable error" exception on line 129 in barpath.py, nor is it
> helping me figure out what's wrong in my program.

I always prefer to have the stack trace, since it *is* useful to me to
figure out what is wrong with my program (or possibly, the library I'm
using).

> or do you expose internal implementation details to your end users
> too, to make sure they don't lose any information?

No - but I do log any errors, with stack traces, and as much useful data
as possible. That way it's more likely that I can get a useful bug
report (they send the log file).

Replacing an exception *may* not get in the way if you're wrapping a
single statement in the exception. I can't think of another case where
it would not get in the way. Chained exceptions change this somewhat,
because you don't lose the original information.

Tim Delaney
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to