mirror of https://github.com/python/cpython
bpo-12029: [doc] clarify that except does not match virtual subclasses of the specified exception type (GH-32027)
This commit is contained in:
parent
1ea055bd53
commit
45833b50f0
|
@ -243,9 +243,10 @@ is found that matches the exception. An expression-less except clause, if
|
|||
present, must be last; it matches any exception. For an except clause with an
|
||||
expression, that expression is evaluated, and the clause matches the exception
|
||||
if the resulting object is "compatible" with the exception. An object is
|
||||
compatible with an exception if the object is the class or a base class of the exception
|
||||
object, or a tuple containing an item that is the class or a base class of
|
||||
the exception object.
|
||||
compatible with an exception if the object is the class or a
|
||||
:term:`non-virtual base class <abstract base class>` of the exception object,
|
||||
or a tuple containing an item that is the class or a non-virtual base class
|
||||
of the exception object.
|
||||
|
||||
If no except clause matches the exception, the search for an exception handler
|
||||
continues in the surrounding code and on the invocation stack. [#]_
|
||||
|
|
|
@ -259,8 +259,9 @@ a stack traceback, except when the exception is :exc:`SystemExit`.
|
|||
|
||||
Exceptions are identified by class instances. The :keyword:`except` clause is
|
||||
selected depending on the class of the instance: it must reference the class of
|
||||
the instance or a base class thereof. The instance can be received by the
|
||||
handler and can carry additional information about the exceptional condition.
|
||||
the instance or a :term:`non-virtual base class <abstract base class>` thereof.
|
||||
The instance can be received by the handler and can carry additional information
|
||||
about the exceptional condition.
|
||||
|
||||
.. note::
|
||||
|
||||
|
|
Loading…
Reference in New Issue