d_skat

sem6_4

Apr 23rd, 2018
115
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.74 KB | None | 0 0
  1. from contextlib import contextmanager
  2. import sys
  3.  
  4. @contextmanager
  5. def supresser(*args):
  6.     try:
  7.         yield
  8.     except Exception as exc:
  9.         if(type(exc) in args):
  10.             pass
  11.         else:
  12.             raise exc
  13.  
  14. @contextmanager
  15. def retyper(type_from, type_to):
  16.     try:
  17.         yield
  18.     except Exception as exc:
  19.         if(type(exc) == type_from):
  20.             new_exc = type_to(*exc.args)
  21.             new_exc.__traceback__ = exc.__traceback__
  22.             raise new_exc
  23.         else:
  24.             raise exc
  25.  
  26. @contextmanager
  27. def dumper(stream):
  28.     try:
  29.         yield
  30.     except Exception as exc:
  31.         print_str = type(exc).__name__ + ': ' + str(exc) + '\n'
  32.         stream.write(print_str)
  33.         raise exc
Advertisement
Add Comment
Please, Sign In to add comment