Exceptions - Richtige Anwendung und allg. Fragen
Verfasst: Montag 6. Januar 2014, 10:35
Hallo,
ich habe mittlerweile in Python3 ein relativ langes Script erstellt, dass mir Daten der seriellen Konsole abgreift, prüft, an ein PHP-WebScript übergibt und separat per PyMySQL in eine lokale Datenbank schreibt.
Bisher habe ich keine/kaum Exceptions verwendet, was ich nun gerne ändern möchte.
Mein Problem für den Einstieg ist aber gerade, in welchem Fall ich auf welche Exceptions prüfen muss. Klar kann ich jede meiner Funktionen einzeln in einem Script auslagern und mit komischen Daten füttern, oder Fehlerzustände bewusst herbeiführen um an den Namen der Exception zu kommen, die geworfen wurde - aber das deckt doch dann nicht alle Fälle ab; den manche Fehler (die ich nicht kenne) kann ich auch nicht bewusst herbeiführen.
Insbesondere bin ich etwas überfordert wenn es um Exceptions von dritten Librarys geht; etwa die pymysql-Lib für Python 3. Ich finde da schlicht keine Liste mit den möglichen Exceptions, die geworfen werden können - ein paar habe ich mir mal notiert:
pymysql.err.InternalError
pymysql.err.ProgrammingError
pymysql.err.OperationalError
Hierbei habe ich auch schon das erste Problem: Ich würde gerne die Fehlermeldung loggen; wenn ich aber eine der obigen Zeilen als Exception verwende - wie greife ich auf die ursprüngliche Fehlermeldung zu?
Habt ihr ein paar Tipps für mich?
ich habe mittlerweile in Python3 ein relativ langes Script erstellt, dass mir Daten der seriellen Konsole abgreift, prüft, an ein PHP-WebScript übergibt und separat per PyMySQL in eine lokale Datenbank schreibt.
Bisher habe ich keine/kaum Exceptions verwendet, was ich nun gerne ändern möchte.
Mein Problem für den Einstieg ist aber gerade, in welchem Fall ich auf welche Exceptions prüfen muss. Klar kann ich jede meiner Funktionen einzeln in einem Script auslagern und mit komischen Daten füttern, oder Fehlerzustände bewusst herbeiführen um an den Namen der Exception zu kommen, die geworfen wurde - aber das deckt doch dann nicht alle Fälle ab; den manche Fehler (die ich nicht kenne) kann ich auch nicht bewusst herbeiführen.
Insbesondere bin ich etwas überfordert wenn es um Exceptions von dritten Librarys geht; etwa die pymysql-Lib für Python 3. Ich finde da schlicht keine Liste mit den möglichen Exceptions, die geworfen werden können - ein paar habe ich mir mal notiert:
pymysql.err.InternalError
pymysql.err.ProgrammingError
pymysql.err.OperationalError
Hierbei habe ich auch schon das erste Problem: Ich würde gerne die Fehlermeldung loggen; wenn ich aber eine der obigen Zeilen als Exception verwende - wie greife ich auf die ursprüngliche Fehlermeldung zu?
Habt ihr ein paar Tipps für mich?