From: Mike Castle Date: Mon, 3 Mar 2025 08:23:41 +0000 (-0800) Subject: gh-129015: Improve disambiguation between `NotImplemented` and `NotImplementedError... X-Git-Tag: v3.14.0a6~193 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=a85eeb97710617404ba7a0fac3b264f586caf70c;p=thirdparty%2FPython%2Fcpython.git 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> --- diff --git a/Doc/library/constants.rst b/Doc/library/constants.rst index 04bb8c51a3b1..c0ac4ea8412e 100644 --- a/Doc/library/constants.rst +++ b/Doc/library/constants.rst @@ -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. diff --git a/Doc/library/exceptions.rst b/Doc/library/exceptions.rst index 319d261ef3fb..c56604339030 100644 --- a/Doc/library/exceptions.rst +++ b/Doc/library/exceptions.rst @@ -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]]])