[Python-checkins] commit of r41362 - peps/trunk

guido.van.rossum@python.org guido.van.rossum at python.org
Mon Oct 31 20:22:43 CET 2005


Author: guido.van.rossum
Date: Mon Oct 31 20:22:43 2005
New Revision: 41362
Modified:
 peps/trunk/pep-0352.txt
Log:
Final tweaks:
- fix the __str__, __unicode__ and __repr__ methods
- some textual tweaks
- add Python 3.0 to the transition plan
Modified: peps/trunk/pep-0352.txt
==============================================================================
--- peps/trunk/pep-0352.txt	(original)
+++ peps/trunk/pep-0352.txt	Mon Oct 31 20:22:43 2005
@@ -65,47 +65,46 @@
 
 def __init__(self, *args):
 """Set 'message' and 'args' attribute"""
-	 self.args = args
-	 self.message = args[0] if args else ''
+ self.args = args
+ self.message = args[0] if args else ''
 
 def __str__(self):
-	 """Return the str of 'message'"""
-	 return str(self.message
-			if not self.args
-			else self.args)
+ """Return the str of 'message'"""
+ return str(self.message
+ if len(self.args) <= 1
+ else self.args)
 
 def __unicode__(self):
-	 """Return the unicode of 'message'"""
-	 return unicode(self.message
-			 if not self.args
-			 else self.args)
+ """Return the unicode of 'message'"""
+ return unicode(self.message
+ if len(self.args) <= 1
+ else self.args)
 
 def __repr__(self):
-	 args_repr = (repr(self.message)
-		 	if not self.args
-			else "*%r" % self.args)
- return "%s(%s)" % (self.__class__.__name__, args_repr)
+ if (len(self.args) <= 1):
+ return "%s(%r)" % (self.__class__.__name__, self.message)
+ return "%s%r" % (self.__class__.__name__, self.args)
 
 def __getitem__(self, index):
 """Index into arguments passed in during instantiation.
 
-	 Provided for backwards-compatibility and will be
-	 deprecated.
+ Provided for backwards-compatibility and will be
+ deprecated.
 
-	 """
-	 return self.args[index]
+ """
+ return self.args[index]
 
 
-The ``message`` attribute will contain either the argument passed in
-at instantiation of the object or the empty string. The attribute is
-meant to act as a common location to store any extra information that
-is to be passed along with the exception that goes beyond the location
-of the exception within the exception hierarchy and the exception's
-type.
+The ``message`` attribute will contain either the first argument
+passed in at instantiation of the object or the empty string if no
+arguments were passed in. The attribute is meant to act as a common
+location to store any extra information that is to be passed along
+with the exception that goes beyond the location of the exception
+within the exception hierarchy and the exception's type.
 
 No restriction is placed upon what may be passed in for ``messsage``.
-This provides backwards-compatibility with how the argument passed
-into Exception has no restrictions.
+This provides backwards-compatibility with how the arguments passed
+into Exception have no restrictions.
 
 The ``args`` attribute is deprecated. While allowing multiple
 arguments to be passed can be helpful, it is in no way essential. It
@@ -214,11 +213,14 @@
 
 - deprecate catching exceptions that do not inherit from BaseException
 
-
 * Python 2.9
 
 - deprecate ``args`` and ``__getitem__``
 
+* Python 3.0
+
+ - drop ``args`` and ``__getitem__``
+
 
 References
 ==========


More information about the Python-checkins mailing list

AltStyle によって変換されたページ (->オリジナル) /