While looking at the changes necessary to implement the exception
related syntax changes (except ... as ..., raise without type),
I came across some more substantial things that I think must be discussed.

* How should exceptions be represented in C code? Should there still
  be a (type, value, traceback) triple?

* Could the traceback be made an attribute of the exception?

* What about exception chaining?

Something like this comes to mind::

    try:
        whatever
    except ValueError as err:
        raise CustomException("Something went wrong", prev=err)

With tracebacks becoming part of the exception, that could be::

    raise CustomException(*args, prev=err, tb=traceback)

(`prev` and `tb` would be keyword-only arguments)

With that, all exception info would be contained in one object,
so sys.exc_info() could be renamed to sys.last_exc().

cheers,
Georg

_______________________________________________
Python-3000 mailing list
Python-3000@python.org
http://mail.python.org/mailman/listinfo/python-3000
Unsubscribe: 
http://mail.python.org/mailman/options/python-3000/archive%40mail-archive.com

Reply via email to