diff options
author | Neal Norwitz <nnorwitz@gmail.com> | 2003-05-29 02:17:23 (GMT) |
---|---|---|
committer | Neal Norwitz <nnorwitz@gmail.com> | 2003-05-29 02:17:23 (GMT) |
commit | 847207acffaf35e59601fea7d54f6db6f307e327 (patch) | |
tree | aec3d56d69f4f3f82a300d27122fcdd00a75c0aa | |
parent | d3d5768e5ecf017d96b71d8ed437267ff47203b1 (diff) | |
download | cpython-847207acffaf35e59601fea7d54f6db6f307e327.zip cpython-847207acffaf35e59601fea7d54f6db6f307e327.tar.gz cpython-847207acffaf35e59601fea7d54f6db6f307e327.tar.bz2 |
SF bug #719367, string exceptions are deprecated
Remove references to string based exceptions in the doc.
-rw-r--r-- | Doc/api/exceptions.tex | 4 | ||||
-rw-r--r-- | Doc/doc/doc.tex | 5 | ||||
-rw-r--r-- | Doc/lib/libexcs.tex | 13 | ||||
-rw-r--r-- | Doc/lib/libsys.tex | 2 | ||||
-rw-r--r-- | Doc/ref/ref4.tex | 9 | ||||
-rw-r--r-- | Doc/ref/ref6.tex | 8 |
6 files changed, 19 insertions, 22 deletions
diff --git a/Doc/api/exceptions.tex b/Doc/api/exceptions.tex index d7960de..8cd0fe4 100644 --- a/Doc/api/exceptions.tex +++ b/Doc/api/exceptions.tex @@ -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. diff --git a/Doc/doc/doc.tex b/Doc/doc/doc.tex index 22f9d13..1138554 100644 --- a/Doc/doc/doc.tex +++ b/Doc/doc/doc.tex @@ -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}} diff --git a/Doc/lib/libexcs.tex b/Doc/lib/libexcs.tex index 5742fe5..1f39136 100644 --- a/Doc/lib/libexcs.tex +++ b/Doc/lib/libexcs.tex @@ -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 diff --git a/Doc/lib/libsys.tex b/Doc/lib/libsys.tex index b8b781b..8a60cb2 100644 --- a/Doc/lib/libsys.tex +++ b/Doc/lib/libsys.tex @@ -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} diff --git a/Doc/ref/ref4.tex b/Doc/ref/ref4.tex index 0eb6841..b993266 100644 --- a/Doc/ref/ref4.tex +++ b/Doc/ref/ref4.tex @@ -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 diff --git a/Doc/ref/ref6.tex b/Doc/ref/ref6.tex index d447f24..a078aa4 100644 --- a/Doc/ref/ref6.tex +++ b/Doc/ref/ref6.tex @@ -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 |