Best practice für geschachtelte Funktionsaufrufe ...
Verfasst: Montag 22. Januar 2024, 11:38
Mein Skript versucht Daten aus einem Text zu extrahieren und dies in einer Datenbank zu finden.
Das geschieht über mehrere Ebenen, zuletzt dann die Suche in der Datenbank.
Das ganze wird mehrfach durchgeführt mit unterschiedlichen Suchdaten um die Wiederfinde-Whrscheinlichkeit zu erhöhen.
Wenn alles gut geht, dann funktioniert EINE der Methoden.
Dabei kann einihes "schiefgehen".
Der häufigste Fall wird sein, dass die Dtaen schlicht nicht gefunden werden; das positive/negaitve Ergebnis muss dann also über die Aufrufebenen nach oben durchgereicht werden.
Es kann aber durchaus auch sein, dass die Datenbank nicht erreichbar ist oder die Suchparameter einen Fehler verursachen.
Das gibt momentan einen bunten Mix aus Try/except-konstrukten aber auch Rückgabecodes. Das wird mittleweile unübersichtlich.
Wie gestaltetet man sowas "elegant"?
Arbeitet man konsequent mit try/expcepts und setzt die fehlerursachen in Rückgabecodes um oder versucht man konsequent unterschiedliche Fehler zu raisen und reagiert in der obersten Ebene darauf?
Wie machen die Profis das?
Das geschieht über mehrere Ebenen, zuletzt dann die Suche in der Datenbank.
Das ganze wird mehrfach durchgeführt mit unterschiedlichen Suchdaten um die Wiederfinde-Whrscheinlichkeit zu erhöhen.
Wenn alles gut geht, dann funktioniert EINE der Methoden.
Dabei kann einihes "schiefgehen".
Der häufigste Fall wird sein, dass die Dtaen schlicht nicht gefunden werden; das positive/negaitve Ergebnis muss dann also über die Aufrufebenen nach oben durchgereicht werden.
Es kann aber durchaus auch sein, dass die Datenbank nicht erreichbar ist oder die Suchparameter einen Fehler verursachen.
Das gibt momentan einen bunten Mix aus Try/except-konstrukten aber auch Rückgabecodes. Das wird mittleweile unübersichtlich.
Wie gestaltetet man sowas "elegant"?
Arbeitet man konsequent mit try/expcepts und setzt die fehlerursachen in Rückgabecodes um oder versucht man konsequent unterschiedliche Fehler zu raisen und reagiert in der obersten Ebene darauf?
Wie machen die Profis das?