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 '[EMAIL PROTECTED]'.split('@')])" -- http://mail.python.org/mailman/listinfo/python-list