Source code for alex.utils.exdec

#!/usr/bin/env python
# -*- coding: utf-8 -*-
#
# pylint: disable-msg=E1103

import functools
import traceback

""" These are exception decorator handlers to catch repetitive exceptions
you cannot do anything about but silently ignore.
"""

[docs]def catch_ioerror(user_function, msg = ""): @functools.wraps(user_function) def wrapped(*args, **kwds): try: return user_function(*args, **kwds) except IOError: print "#"*120 print u"Unhandled exception IOError in %s.%s" % (unicode(user_function.__module__), unicode(user_function.__name__)) print "-"*120 print traceback.print_stack() print "-"*120 print traceback.print_exc() if msg: print msg print "#"*120 pass return wrapped