]> granicus.if.org Git - python/commitdiff
SF bug #719367, string exceptions are deprecated
authorNeal Norwitz <nnorwitz@gmail.com>
Thu, 29 May 2003 02:17:23 +0000 (02:17 +0000)
committerNeal Norwitz <nnorwitz@gmail.com>
Thu, 29 May 2003 02:17:23 +0000 (02:17 +0000)
Remove references to string based exceptions in the doc.

Doc/api/exceptions.tex
Doc/doc/doc.tex
Doc/lib/libexcs.tex
Doc/lib/libsys.tex
Doc/ref/ref4.tex
Doc/ref/ref6.tex

index d7960defd3695ba961e9753d925d5d286c89b59f..8cd0fe4ffb8c993c1720b8df935482cb41672c97 100644 (file)
@@ -102,7 +102,7 @@ for each thread.
   indicator is already set, it is cleared first.  If the objects are
   \NULL, the error indicator is cleared.  Do not pass a \NULL{} type
   and non-\NULL{} value or traceback.  The exception type should be a
-  string or class.  Do not pass an invalid exception type or value.
+  class.  Do not pass an invalid exception type or value.
   (Violating these rules will cause subtle problems later.)  This call
   takes away a reference to each object: you must own a reference to
   each object before the call and after the call you no longer own
@@ -130,7 +130,7 @@ for each thread.
 \begin{cfuncdesc}{PyObject*}{PyErr_Format}{PyObject *exception,
                                            const char *format, \moreargs}
   This function sets the error indicator and returns \NULL.
-  \var{exception} should be a Python exception (string or class, not
+  \var{exception} should be a Python exception (class, not
   an instance).  \var{format} should be a string, containing format
   codes, similar to \cfunction{printf()}. The \code{width.precision}
   before a format code is parsed, but the width part is ignored.
index 22f9d13dab47fcbfd9f7e97da561cb938bafb556..11385543ea7f3ed329940e38485bc397e7140efe 100644 (file)
@@ -608,8 +608,7 @@ This \UNIX\ is also followed by a space.
     \end{envdesc}
 
     \begin{envdesc}{excdesc}{\p{name}}
-      Describe an exception.  This may be either a string exception or
-      a class exception.  In the case of class exceptions, the
+      Describe an exception.  In the case of class exceptions, the
       constructor parameters are not described; use \env{excclassdesc}
       to describe an exception class and its constructor.
     \end{envdesc}
@@ -1498,7 +1497,7 @@ This \UNIX\ is also followed by a space.
 
     \begin{macrodesc}{exindex}{\p{exception}}
       Add a reference to an exception named \var{exception}.  The
-      exception may be either string- or class-based.
+      exception should be class-based.
     \end{macrodesc}
 
     \begin{macrodesc}{kwindex}{\p{keyword}}
index 5742fe52bb6055c57aa8e26e1a1306c7f3cf0755..1f3913654c21f720e2a1c03c3ed00035b4041d4f 100644 (file)
@@ -4,21 +4,26 @@
 \modulesynopsis{Standard exception classes.}
 
 
-Exceptions can be class objects or string objects.  Though most
-exceptions have been string objects in past versions of Python, in
-Python 1.5 and newer versions, all standard exceptions have been
-converted to class objects, and users are encouraged to do the same.
+Exceptions should be class objects.  
 The exceptions are defined in the module \module{exceptions}.  This
 module never needs to be imported explicitly: the exceptions are
 provided in the built-in namespace as well as the \module{exceptions}
 module.
 
+\begin{notice}
+In past versions of Python string exceptions were supported.  In
+Python 1.5 and newer versions, all standard exceptions have been
+converted to class objects and users are encouraged to do the same.
+String exceptions will raise a \code{PendingDeprecationWarning}.
+In future versions, support for string exceptions will be removed.
+
 Two distinct string objects with the same value are considered different
 exceptions.  This is done to force programmers to use exception names
 rather than their string value when specifying exception handlers.
 The string value of all built-in exceptions is their name, but this is
 not a requirement for user-defined exceptions or exceptions defined by
 library modules.
+\end{notice}
 
 For class exceptions, in a \keyword{try}\stindex{try} statement with
 an \keyword{except}\stindex{except} clause that mentions a particular
index b8b781bab0766949088315004a555170ac821dbc..8a60cb23fa6f5bc7fcf6336756fb85f4cdd3b808 100644 (file)
@@ -91,7 +91,7 @@ It is always available.
   containing three \code{None} values is returned.  Otherwise, the
   values returned are \code{(\var{type}, \var{value},
   \var{traceback})}.  Their meaning is: \var{type} gets the exception
-  type of the exception being handled (a string or class object);
+  type of the exception being handled (a class object);
   \var{value} gets the exception parameter (its \dfn{associated value}
   or the second argument to \keyword{raise}, which is always a class
   instance if the exception type is a class object); \var{traceback}
index 0eb6841e06cd5e23b3838b8d07caed5559d88d77..b993266dccc8647120cb16a5322a0ef60315ab29 100644 (file)
@@ -183,12 +183,9 @@ either case, it prints a stack backtrace, except when the exception is
 \exception{SystemExit}\withsubitem{(built-in
 exception)}{\ttindex{SystemExit}}.
 
-Exceptions are identified by string objects or class instances.
-Selection of a matching except clause is based on object identity
-(i.e., two different string objects with the same value represent
-different exceptions!)  For string exceptions, the \keyword{except}
-clause must reference the same string object.  For class exceptions,
-the \keyword{except} clause must reference the same class or a base
+Exceptions are identified by class instances.
+Selection of a matching except clause is based on object identity.
+The \keyword{except} clause must reference the same class or a base
 class of it.
 
 When an exception is raised, an object (maybe \code{None}) is passed
index d447f249a60f309bb30dde11da3b4a50d07d2cf3..a078aa4cae7f36e9279a85cc67c3b32e4bb36060 100644 (file)
@@ -521,9 +521,8 @@ from __future__ import generators
 \end{productionlist}
 
 If no expressions are present, \keyword{raise} re-raises the last
-expression that was active in the current scope.  If no exception has
-been active in the current scope, an exception is raised that
-indicates indicates that this is the error.
+expression that was active in the current scope.  If no exception is
+active in the current scope, an exception is raised indicating this error.
 \index{exception}
 \indexii{raising}{exception}
 
@@ -545,9 +544,6 @@ used, and any other object is treated as a single argument to the
 constructor.  The instance so created by calling the constructor is
 used as the exception value.
 
-If the first object is a string, the string object is the exception
-type, and the second object becomes the exception value.
-
 If a third object is present and not \code{None}, it must be a
 traceback\obindex{traceback} object (see section~\ref{traceback}), and
 it is substituted instead of the current location as the place where