On 1/7/07, Collin Winter <[EMAIL PROTECTED]> wrote:

On 1/4/07, Guido van Rossum <[EMAIL PROTECTED]> wrote:
> On 1/4/07, Phillip J. Eby <[EMAIL PROTECTED]> wrote:
> > How about:
> >
> >       except ExcType, e:
> >           try:
> >               # body
> >           finally:
> >               e = None
> >               del e
> >
> > Then we get the best of all three worlds: a clean explanation, a clean
> > implementation, and a pure source-to-source transformation.
>
> Great! We need (a) an update to PEP 3100 and (b) a patch to implement
> this. (Once we have this we can talk about the rest of PEP 344;
> perhaps that PEP should also target Py3k only?)

I've just uploaded patch #1630248 to SF. This implements the
transformation (including test cases for the new behavior) and patches
all places in the stdlib that relied on the old behavior.

The transformation is as Phillip outlined above, with extra logic to
handle the case where e is a tuple or list.


Having 'e' be a tuple or list in Py3K will be rather uncommon?  If you look
at PEP 352 you will notice that the __getitem__ method for BaseException is
going to be gone so the unpacking of an exception will not be something you
can normally do.  If you want to add the support for unpacking when someone
subclasses BaseException and adds __getitem__ that's fine, but in the
general case it won't be used very much I suspect.

-Brett
_______________________________________________
Python-3000 mailing list
[email protected]
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