<br><br><div class="gmail_quote">On 24 July 2010 22:31, Gregory P. Smith <span dir="ltr"><<a href="mailto:greg@krypto.org">greg@krypto.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<br><div class="gmail_quote"><div class="im">On Wed, Jul 21, 2010 at 12:34 PM, Antoine Pitrou <span dir="ltr"><<a href="mailto:solipsis@pitrou.net" target="_blank">solipsis@pitrou.net</a>></span> wrote:<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">



Hello,<br>
<br>
I would like to propose the following PEP for feedback and review.<br>
Permanent link to up-to-date version with proper HTML formatting:<br>
<a href="http://www.python.org/dev/peps/pep-3151/" target="_blank">http://www.python.org/dev/peps/pep-3151/</a><br>
<br>
Thank you,<br>
<br>
Antoine.</blockquote></div></div></blockquote><div>[...] <br></div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;"><div class="gmail_quote">
<div>+1 in on this whole PEP!</div><div><br></div></div></blockquote><div><br>+1 from me too.<br><br>Michael<br> </div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<div class="gmail_quote"><div></div><div>The EnvrionmentError hierarchy and common errno test code has bothered me for a while.  While I think the namespace pollution concern is valid I would suggest adding "Error" to the end of all of the names (your initial proposal only says "Error" on the end of one of them) as that is consistent with the bulk of the existing standard exceptions and warnings.  They are unlikely to conflict with anything other than exceptions people have already defined themselves in any existing code (which could likely be refactored out after we officially define these).</div>
<div><div></div><div class="h5">

<div><br></div><div><br></div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<br>
<br>
Earlier discussion<br>
==================<br>
<br>
While this is the first time such as formal proposal is made, the idea<br>
has received informal support in the past [1]_; both the introduction<br>
of finer-grained exception classes and the coalescing of OSError and<br>
IOError.<br>
<br>
The removal of WindowsError alone has been discussed and rejected<br>
as part of another PEP [2]_, but there seemed to be a consensus that the<br>
distinction with OSError wasn't meaningful.  This supports at least its<br>
aliasing with OSError.<br>
<br>
<br>
Moratorium<br>
==========<br>
<br>
The moratorium in effect on language builtins means this PEP has little<br>
chance to be accepted for Python 3.2.<br>
<br>
<br>
Possible alternative<br>
====================<br>
<br>
Pattern matching<br>
----------------<br>
<br>
Another possibility would be to introduce an advanced pattern matching<br>
syntax when catching exceptions.  For example::<br>
<br>
    try:<br>
        os.remove(filename)<br>
    except OSError as e if e.errno == errno.ENOENT:<br>
        pass<br>
<br>
Several problems with this proposal:<br>
<br>
* it introduces new syntax, which is perceived by the author to be a heavier<br>
  change compared to reworking the exception hierarchy<br>
* it doesn't decrease typing effort significantly<br>
* it doesn't relieve the programmer from the burden of having to remember<br>
  errno mnemonics<br></blockquote><div><br></div></div></div><div>ugh.  no.  :)  That only works well for single exceptions and encourages less explicit exception types.  Exceptions are a class hierarchy, we should encourage its use rather than encouraging magic type specific attributes with conditionals.</div>


<div><br></div><div>-gps</div><div><br></div></div>
<br>_______________________________________________<br>
Python-ideas mailing list<br>
<a href="mailto:Python-ideas@python.org">Python-ideas@python.org</a><br>
<a href="http://mail.python.org/mailman/listinfo/python-ideas" target="_blank">http://mail.python.org/mailman/listinfo/python-ideas</a><br>
<br></blockquote></div><br><br clear="all"><br>-- <br><a href="http://www.voidspace.org.uk">http://www.voidspace.org.uk</a><br><br><br>