Seite 1 von 1

Wie Windows Exceptions abfangen?

Verfasst: Freitag 19. Juni 2009, 13:21
von snakeseven
Hallo,
wie kann ich Windows Fehlermeldungen abfangen? Muss ich da was importieren (import Windows Exceptions) ?

Code: Alles auswählen

Exception exceptions.WindowsError: 'exception: access violation reading
Gruss, Seven

Verfasst: Freitag 19. Juni 2009, 13:26
von cofi

Code: Alles auswählen

import exceptions
try:
    ...
except exceptions.WindowsError:
    ....
Edit: Evtl ist es auch built-in, aber das musst du testen. Beziehungsweise, warum testest du es nicht gleich? :roll: Den Ansatz hattest du ja ...

Verfasst: Freitag 19. Juni 2009, 13:55
von snakeseven
Hi cofi,
hatte es schon ohne import probiert, aber das brachte nichts. Und mit Importieren klappts leider auch nicht.

Der Fehler tritt auch nur bei grober Fehlbedienung auf und wird vom wx.FlashWindow hervorgerufen. Er führt nicht zum Absturz, nervt aber.

Gruss, Seven

Verfasst: Freitag 19. Juni 2009, 13:59
von cofi
Python Library Reference hat geschrieben:exception WindowsError

Raised when a Windows-specific error occurs or when the error number does not correspond to an errno value. The winerror and strerror values are created from the return values of the GetLastError and FormatMessage functions from the Windows Platform API. The errno value maps the winerror value to corresponding errno.h values. This is a subclass of OSError.

New in version 2.0.

Changed in version 2.5: Previous versions put the GetLastError codes into errno.
Versuchs mal mit OSError.

Verfasst: Freitag 19. Juni 2009, 14:10
von Pekh
snakeseven hat geschrieben:Hi cofi,
hatte es schon ohne import probiert, aber das brachte nichts. Und mit Importieren klappts leider auch nicht.

Der Fehler tritt auch nur bei grober Fehlbedienung auf und wird vom wx.FlashWindow hervorgerufen. Er führt nicht zum Absturz, nervt aber.

Gruss, Seven
Das Problem ist, daß wxPython die Exceptions schon abfängt, bevor du überhaupt eine Chance hast, sie selber zu fangen. Es gibt die Möglichkeit, die wx-eigenen Exceptionhandler zu erweitern, oder einen eigenen Handler an sys.excepthook ranzuhängen. Beispiele dafür gibts hier im Forum, im Wx Wiki und natürlich bei der Suchmaschine ihres Vertrauens ;)

Verfasst: Freitag 19. Juni 2009, 14:17
von snakeseven
Pekh hat geschrieben:Beispiele dafür gibts hier im Forum, im Wx Wiki und natürlich bei der Suchmaschine ihres Vertrauens ;)
Die befrage ich gerade, denn ich arbeite noch mit Python 2.5.

Gruss, Seven