Wie Windows Exceptions abfangen?

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
snakeseven
User
Beiträge: 408
Registriert: Freitag 7. Oktober 2005, 14:37
Wohnort: Berlin
Kontaktdaten:

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
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

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 ...
snakeseven
User
Beiträge: 408
Registriert: Freitag 7. Oktober 2005, 14:37
Wohnort: Berlin
Kontaktdaten:

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
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

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.
Pekh
User
Beiträge: 482
Registriert: Donnerstag 22. Mai 2008, 09:09

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 ;)
snakeseven
User
Beiträge: 408
Registriert: Freitag 7. Oktober 2005, 14:37
Wohnort: Berlin
Kontaktdaten:

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
Antworten