bpo-12029: [doc] clarify that except does not match virtual subclasse… · python/cpython@2d5e9f8 (original) (raw)

Original file line number Diff line number Diff line change
@@ -253,9 +253,10 @@ is found that matches the exception. An expression-less except clause, if
253 253 present, must be last; it matches any exception. For an except clause with an
254 254 expression, that expression is evaluated, and the clause matches the exception
255 255 if the resulting object is "compatible" with the exception. An object is
256 -compatible with an exception if it is the class or a base class of the exception
257 -object, or a tuple containing an item that is the class or a base class of
258 -the exception object.
256 +compatible with an exception if the object is the class or a
257 +:term:`non-virtual base class ` of the exception object,
258 +or a tuple containing an item that is the class or a non-virtual base class
259 +of the exception object.
259 260
260 261 If no except clause matches the exception, the search for an exception handler
261 262 continues in the surrounding code and on the invocation stack. [#]_