#! /usr/bin/env python import sys class ErrorContext(object): def __init__(self): pass def __enter__(self): pass def __exit__(self, *exc_info): print '__exit__()' print ' ', exc_info return False try: with ErrorContext(): raise ZeroDivisionError('integer division or modulo by zero') except ZeroDivisionError: print 'sys.exc_info()' print ' ', sys.exc_info() try: with ErrorContext(): 1 // 0 except ZeroDivisionError: print 'sys.exc_info()' print ' ', sys.exc_info()