A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from http://mail.python.org/pipermail/python-dev/2006-September/068869.html below:

[Python-Dev] Exceptions and slicing

[Python-Dev] Exceptions and slicing"Martin v. Löwis" martin at v.loewis.de
Wed Sep 20 21:58:36 CEST 2006
Thomas Heller schrieb:
> 1. The __str__ of a WindowsError instance hides the 'real' windows
> error number.  So, in 2.4 "print error_instance" would print
> for example:
> 
>   [Errno 1002] Das Fenster kann die gesendete Nachricht nicht verarbeiten.
>     
> while in 2.5:
> 
>   [Error 22] Das Fenster kann die gesendete Nachricht nicht verarbeiten.

That's a bug. I changed the string deliberately from Errno to error to
indicate that it is not an errno, but a GetLastError. Can you come up
with a patch?

> 2. How would one write portable exception handling for Python 2.4 and 2.5?
> 
> I have code like this:
> 
> try:
>     do something
> except WindowsError, details:
>     if not details.errno in (TYPE_E_REGISTRYACCESS, TYPE_E_CANTLOADLIBRARY):
>         raise
> 
> Doesn't work in 2.5 any longer, because I would have to use details.winerror
> instead of e.errno.

Portable code should do

def winerror(exc):
  try:
     return exc.winerror
  except AttributeError: #2.4 and earlier
     return exc.errno

and then

 try:
     do something
 except WindowsError, details:
     if not winerror(details) in (TYPE_E_REGISTRYACCESS,
YPE_E_CANTLOADLIBRARY):
         raise

Regards,
Martin

More information about the Python-Dev mailing list

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4