Musings: Using decorators to reduce duplicate exception handling
Diez B. Roggisch
deets at nospam.web.de
Sun Feb 22 11:52:16 EST 2009
J Kenneth King schrieb:
> I recently started a project called TracShell
> (http://code.google.com/p/tracshell) where I make heavy use of the
> xmlrpclib core module.
>
> When the number of RPC calls was small, wrapping each call in try/except
> was acceptable. However, this obviously will duplicate code all over the
> place. There are only ever two exceptions that the module itself will
> throw: xmlrpclib.ProtocolError and xmlrpclib.Fault -- both very useful,
> but not show stoppers.
I think the answer depends a lot on the actual error handling performed.
If you want retries, either immediately, or with some larger prologue,
it might make sense to abstract that away (I would have suggested the
context-manager thing myself, but Cameron did that already).
But if you essentially want to abort in all cases, I'd just push the
handling upwards, and rather improve the error reporting itself, e.g. by
storing away the trace in a temporary file the user can send you.
Diez
More information about the Python-list
mailing list