Thread Errorhandling (26 answers)
Opened by Oliver at 2020-03-13 10:10

Oliver
 2020-03-13 11:06
#191492 #191492
User since
2020-03-13
9 articles
BenutzerIn
[default_avatar]
Hallo :-)

Die Funktionen die, warn, ... sind mir bekannt, machen ein Fehlerhandling aber nur für eine "Code-Zeil" bzw einen Code-Block. Oder irre ich hier?

Für fehleranfälligen Code habe ich bereits ein Handling.

Code: (dl )
open ConfigFileObject, "< ".read_data("FILES", "CONFIGFILE") || write_errorlog("ERROR: $! : ".read_data("FILES", "CONFIGFILE"),"3");


Hier: Kann die Datei zB nicht gelesen werden, wird in die Sub write_errorlog gesprungen, in der zum einen der Fehler in eine Datei geschrieben wird und zum anderen aber anhand des "CriticalState" (2. Paramter, "3") weitere Maßnahmen eingeleitet werden. Bei "3" werde ich per PushNachricht auf meinem Handy informiert und das Programm wird beendet.

Was aber, wenn irgendwo in einem eher unkritischen Bereich ein Fehler auftritt? Ich kann ja nicht in jeder CodeZeile ein Handling machen...

Manchmal kommt es vor, dass zum Beispiel die Antwort des Servers flasch, unvollständig ist oder gar keine kommt:

Code: (dl )
$RECIEVED=get("http://192.168.0.2/cgi-bin/rs485_getdata.pl?get=B16");


Das führt dann in der Verarbeitung zu Fehlern, die zwar an dieser Stelle nicht schlimm sind, aber die ich dennoch gerne protokollieren.
Wenn es zu einem solchen Fehler kommt, würde ich auch gerne in die write_errorlog Sub springen (oder zuerst in einem andere, um den Aufruf der write_errorlog entsprechend mit der Ausgabe von STDERR zu machen)

View full thread Errorhandling