[Python-Dev] Exception chaining and generator finalisation (original) (raw)
Greg Ewing greg.ewing at canterbury.ac.nz
Sun Aug 1 09:45:31 CEST 2010
- Previous message: [Python-Dev] Exception chaining and generator finalisation
- Next message: [Python-Dev] Yield-From Implementation Updated for Python 3
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Antoine Pitrou wrote:
It only happens if you call close() explicitly:
Well, that's only because the exception is being ignored and you're not getting a traceback at all.
If you arrange to get a traceback, the same thing happens.
import traceback as tb
def g(): try: try: yield 1 finally: raise ValueError("Hovercraft contains eels") except Exception: tb.print_exc()
gi = g() next(gi) del gi
-- Greg
def g(): ... try: yield 1 ... finally: 1/0 ... gi = g() next(gi) 1 del gi Exception ZeroDivisionError: ZeroDivisionError('division by zero',) in <generator object g at 0x7fe50351ddc0> ignored gi = g() next(gi) 1 next(gi) Traceback (most recent call last): File "", line 1, in File "", line 3, in g ZeroDivisionError: division by zero Regards Antoine.
Python-Dev mailing list Python-Dev at python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/greg.ewing%40canterbury.ac.nz
- Previous message: [Python-Dev] Exception chaining and generator finalisation
- Next message: [Python-Dev] Yield-From Implementation Updated for Python 3
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]