[Python-checkins] r42714 - peps/trunk/pep-0000.txt peps/trunk/pep-0352.txt

brett.cannon python-checkins at python.org
Wed Mar 1 05:48:54 CET 2006


Author: brett.cannon
Date: Wed Mar  1 05:48:52 2006
New Revision: 42714

Modified:
   peps/trunk/pep-0000.txt
   peps/trunk/pep-0352.txt
Log:
Change status of PEP 352 to final.

Also clarified wording to reflect the implementation; only exceptions are
new-style class.  Wording was ambiguous and suggested that you could raise
any new-style class which was considered insane by everyone at the core sprint
at PyCon 2006.  And, most importantly, a Tim-channeled Guido thought that the
current implementation was the way to go.  No one should be able to ``raise
42``.


Modified: peps/trunk/pep-0000.txt
==============================================================================
--- peps/trunk/pep-0000.txt	(original)
+++ peps/trunk/pep-0000.txt	Wed Mar  1 05:48:52 2006
@@ -67,7 +67,6 @@
 
  SA  328  Imports: Multi-Line and Absolute/Relative    Aahz
  SA  343  The "with" Statement                         GvR, Coghlan
- SA  352  Required Superclass for Exceptions           GvR, Cannon
 
  Open PEPs (under consideration)
 
@@ -166,6 +165,7 @@
  SF  327  Decimal Data Type                            Batista
  SF  341  Unifying try-except and try-finally          Brandl
  SF  342  Coroutines via Enhanced Generators           GvR, Eby
+ SF  352  Required Superclass for Exceptions           GvR, Cannon
  SF  353  Using ssize_t as the index type              von Loewis
 
  Empty PEPs (or containing only an abstract)

Modified: peps/trunk/pep-0352.txt
==============================================================================
--- peps/trunk/pep-0352.txt	(original)
+++ peps/trunk/pep-0352.txt	Wed Mar  1 05:48:52 2006
@@ -3,7 +3,7 @@
 Version: $Revision$
 Last-Modified: $Date$
 Author: Brett Cannon <brett at python.org>, Guido van Rossum <guido at python.org>
-Status: Accepted
+Status: Final
 Type: Standards Track
 Content-Type: text/x-rst
 Created: 27-Oct-2005
@@ -16,10 +16,11 @@
 In Python 2.4 and before, any (classic) class can be raised as an
 exception.  The plan is to allow new-style classes starting in Python
 2.5, but this makes the problem worse -- it would mean *any* class (or
-instance) can be raised!  This is a problem since it prevents any
-guarantees to be made about the interface of exceptions.  This PEP
-proposes introducing a new superclass that all raised objects must
-inherit from.  Imposing the restriction will allow a standard
+instance) can be raised (this is not the case in the final version;
+only built-in exceptions can be new-style)!  This is a problem since it
+prevents any guarantees to be made about the interface of exceptions.
+This PEP proposes introducing a new superclass that all raised objects
+must inherit from.  Imposing the restriction will allow a standard
 interface for exceptions to exist that can be relied upon.
 
 One might counter that requiring a specific base class for a
@@ -86,8 +87,6 @@
       def __repr__(self):
           if not self.args:
               argss = "()"
-          elif len(self.args) <= 1:
-              argss = "(%s)" % repr(self.message)
           else:
               argss = repr(self.args)
           return self.__class__.__name__ + argss
@@ -208,8 +207,6 @@
 
 * Python 2.5
 
-  - allow exceptions to be new-style classes
-
   - all standard exceptions become new-style classes
 
   - introduce BaseException
@@ -248,12 +245,7 @@
 Implementation
 ==============
 
-An initial patch to make exceptions new-style classes has been
-authored by Michael Hudson can be found at SF patch #1104669
-[#SF_1104669]_.  While it does not implement all points mentioned in
-this PEP, it will most likely be used as a basis for the final path
-to implement this PEP.
-
+The initial implementation of this PEP has been checked into Python 2.5 .
 
 References
 ==========


More information about the Python-checkins mailing list