gh-129015: Improve disambiguation between NotImplemented and NotImplementedError (#129562)

---------

Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
This commit is contained in:
Mike Castle 2025-03-03 00:23:41 -08:00 committed by GitHub
parent 097846502b
commit a85eeb9771
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 11 additions and 8 deletions

View file

@ -46,11 +46,12 @@ A small number of constants live in the built-in namespace. They are:
See :ref:`implementing-the-arithmetic-operations` for examples.
.. note::
.. caution::
``NotImplementedError`` and :data:`!NotImplemented` are not interchangeable,
even though they have similar names and purposes.
See :exc:`NotImplementedError` for details on when to use it.
:data:`!NotImplemented` and :exc:`!NotImplementedError` are not
interchangeable. This constant should only be used as described
above; see :exc:`NotImplementedError` for details on correct usage
of the exception.
.. versionchanged:: 3.9
Evaluating :data:`!NotImplemented` in a boolean context was deprecated.

View file

@ -333,11 +333,13 @@ The following exceptions are the exceptions that are usually raised.
meant to be supported at all -- in that case either leave the operator /
method undefined or, if a subclass, set it to :data:`None`.
.. note::
.. caution::
:exc:`!NotImplementedError` and :data:`!NotImplemented` are not
interchangeable. This exception should only be used as described
above; see :data:`NotImplemented` for details on correct usage of
the built-in constant.
``NotImplementedError`` and :data:`NotImplemented` are not interchangeable,
even though they have similar names and purposes. See
:data:`!NotImplemented` for details on when to use it.
.. exception:: OSError([arg])
OSError(errno, strerror[, filename[, winerror[, filename2]]])