Advertisement
rfmonk

contextlib_api_error.py

Jan 16th, 2014
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.60 KB | None | 0 0
  1. #!/usr/bin/env python
  2.  
  3.  
  4. class Context(object):
  5.  
  6.     def __init__(self, handle_error):
  7.         print '__init__(%s)' % handle_error
  8.         self.handle_error = handle_error
  9.  
  10.     def __enter__(self):
  11.         print '__enter__()'
  12.         return self
  13.  
  14.     def __exit__(self, exc_type, exc_val, exc_tb):
  15.         print '__exit__()'
  16.         print ' exc_type =', exc_type
  17.         print ' exc_val  =', exc_val
  18.         print ' exc_tb   =', exc_tb
  19.         return self.handle_error
  20.  
  21. with Context(True):
  22.     raise RuntimeError('error message handled')
  23.  
  24. print
  25.  
  26. with Context(False):
  27.     raise RuntimeError('error message propagated')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement