From: Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> Date: Wed, 17 Apr 2024 10:28:55 +0000 (+0200) Subject: [3.12] gh-73231: Update documentation for PyErr_SetFromWindowsErr() (GH-117226) ... X-Git-Tag: v3.12.4~216 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=ac48fdeb0d26c50754eedddfa865b27542dfaeb7;p=thirdparty%2FPython%2Fcpython.git [3.12] gh-73231: Update documentation for PyErr_SetFromWindowsErr() (GH-117226) (GH-117973) (cherry picked from commit 438b7c3071eebaccd1ba215f15a239345b22f813) Co-authored-by: Serhiy Storchaka --- diff --git a/Doc/c-api/exceptions.rst b/Doc/c-api/exceptions.rst index dd49d2d219ae..7ddecb24734c 100644 --- a/Doc/c-api/exceptions.rst +++ b/Doc/c-api/exceptions.rst @@ -208,13 +208,14 @@ For convenience, some of these functions will always return a .. c:function:: PyObject* PyErr_SetFromWindowsErr(int ierr) - This is a convenience function to raise :exc:`WindowsError`. If called with + This is a convenience function to raise :exc:`OSError`. If called with *ierr* of ``0``, the error code returned by a call to :c:func:`!GetLastError` is used instead. It calls the Win32 function :c:func:`!FormatMessage` to retrieve the Windows description of error code given by *ierr* or :c:func:`!GetLastError`, - then it constructs a tuple object whose first item is the *ierr* value and whose - second item is the corresponding error message (gotten from - :c:func:`!FormatMessage`), and then calls ``PyErr_SetObject(PyExc_WindowsError, + then it constructs a :exc:`OSError` object with the :attr:`~OSError.winerror` + attribute set to the error code, the :attr:`~OSError.strerror` attribute + set to the corresponding error message (gotten from + :c:func:`!FormatMessage`), and then calls ``PyErr_SetObject(PyExc_OSError, object)``. This function always returns ``NULL``. .. availability:: Windows.