code: def raise_(type_, value=None, traceback=None):  # pylint: disable=W0613
      
  
      prev_exc, prev_tb = sys.exc_info()[1:]
      proxy_class = construct_exc_class(type(type_))
  
      err = proxy_class(type_)
      err.__original_exception__.__cause__ = None
      err.__original_exception__.__suppress_context__ = False
  
      if getattr(prev_exc, "__pep3134__", False):
          prev_exc = prev_exc.with_traceback(prev_tb)
      err.__original_exception__.__context__ = prev_exc
  
      if traceback:
          raise err.with_traceback(traceback), None, traceback
      else:
          raise err
docs: Does the same as ordinary ``raise`` with arguments do in Python 2.
      But works in Python 3 (>= 3.3) also!
  
      Please checkout README on https://github.com/9seconds/pep3134
      to get an idea about possible pitfals. But short story is: please
      be pretty carefull with tracebacks. If it is possible, use sys.exc_info
      instead. But in most cases it will work as you expect.