+def ignore_exception(ExceptionType=None):
+ '''A decorator to ignore the given exception type. Use as
+ @ignore_exception() to ignore all exceptions.'''
+ def deco_ignore(f):
+ def f_ignore(*args, **kwargs):
+ if not ExceptionType:
+ try:
+ return f(*args, **kwargs)
+ except:
+ return None
+ else:
+ try:
+ return f(*args, **kwargs)
+ except ExceptionType, e:
+ return None
+ return f_ignore
+ return deco_ignore
+
+