List of WindowsError error codes and meanings

Andrew Berg bahamutzero8825 at gmail.com
Fri May 27 05:22:48 EDT 2011


On 2011.05.26 10:02 AM, Thomas Heller wrote:
> On Windows, you can use ctypes.FormatError(code) to map error codes
> to strings:
>
>  >>> import ctypes
>  >>> ctypes.FormatError(32)
> 'Der Prozess kann nicht auf die Datei zugreifen, da sie von einem 
> anderen Prozess verwendet wird.'
>  >>>
>
> For HRESULT codes, you (unfortunately) have to subtract 2**32-1 from
> the error code:
>
>  >>> ctypes.FormatError(0x80040005)
> Traceback (most recent call last):
>    File "<stdin>", line 1, in <module>
> OverflowError: long int too large to convert to int
>  >>> ctypes.FormatError(0x80040005 - (2**32-1))
> 'Kein Cache zum Verarbeiten vorhanden.'
>  >>>
I could get that with str(sys.exc_info()[1]), though. If something
raises a WindowsError, str(sys.exc_info()[1]) contains something like:
[Error 183] Cannot create a file when that file already exists:
<file/directory>

sys.exc_info() is how I get the error code from inside an except clause
in the first place. Or is there something I'm missing here?



More information about the Python-list mailing list