Global "except" condition
Fredrik Lundh
fredrik at pythonware.com
Tue Jul 11 07:16:24 EDT 2006
Ernesto wrote:
> Within the scope of one Python file (say myFile.py), I'd like to print
> a message on ANY exception that occurs in THAT file, dependent on a
> condition.
condition = True
def handle_any_exception(function):
def trampoline(*args, **kwargs):
try:
return function(*args, **kwargs)
except:
if not condition:
raise
print "exception caught in", function.__name__
return "n/a" # default return value
return trampoline
@handle_any_exception
def myfunc(x):
return 1 / x
@handle_any_exception
def myotherfunc(filename):
return open(filename)
class MyClass:
@handle_any_exception
def mymethod(self):
raise ValueError("oops")
myfunc(1)
myfunc(0)
myotherfunc("hello.txt")
MyClass().mymethod()
</F>
More information about the Python-list
mailing list