Abuse of the object-nature of functions?
Bruno Desthuilliers
onurb at xiludom.gro
Tue Jul 11 14:02:09 EDT 2006
Carl J. Van Arsdall wrote:
> Sybren Stuvel wrote:
>
>> Ant enlightened us with:
>>
>>
>>> try:
>>> assertion = callable.is_assertion
>>> except:
>>> pass
>>>
>>
>>
>> Try to make a habit out of catching only the exceptions you know will
>> be thrown. Catching everything generally is a bad idea. In this case,
>> my bet is that catching AttributeError is enough.
>>
>>
>
> What about doing exception kind of like a C switch statement with a
> default case:
>
> try:
> do_something()
> except TypeError:
> fix_something()
> except:
> print "Unknown error, you are doomed"
> traceback.print_exc() #something to print the traceback
> exit_gracefully()
>
> Is this frowned upon? You still handle the error and you know where it
> happened and what happened. Anything wrong with this? I don't like the
> idea of my system crashing for any reason.
It may be a good idea to do something like this *at the top level of the
application*. But take time to carefully read the standard exceptions
hierarchy in the fine manual - you'll notice some exception you perhaps
don't want to catch or at least don't want to display (hint: look for
the warnings hierarchy and for SysExit...)
--
bruno desthuilliers
python -c "print '@'.join(['.'.join([w[::-1] for w in p.split('.')]) for
p in 'onurb at xiludom.gro'.split('@')])"
More information about the Python-list
mailing list