Fehlerbehandlung



  • Hi,

    wie sieht eure Fehlerbehandlung in euren Programmen aus? Also ich bin noch Anfänger und lasse meist meine Funktionen mit -1 beenden wenn es geht und frage dass dann per if ab und im Fehlerfalle schreibe ich auf den Schirm oder in eine Logsatei. Wie macht ihr das?



  • Egal welcher Compiler, eine eigene Log-Datei ist schon immer gut gewesen. Macht etwas mehr Mühe, erspart aber oft andere Methoden wie Debug etc. und ist jederzeit reaktivierbar. Was nicht interessiert wird auskommentiert. Die Fehlermöglichkeiten musst du jedoch selbst im Blick behalten!



  • berniebutt schrieb:

    Egal welcher Compiler, eine eigene Log-Datei ist schon immer gut gewesen.

    Meine Log-Datei heisst stderr.



  • Fehler in einem Programm sind bereits solche, die zunächst nicht erkannt werden. Alles läuft sauber, nur es wird irgendwo im Programm etwas falsches berechnet oder zugewiesen, was dann an einer völlig anderen Stelle vielleicht erkannt oder unerkannt zu unbrauchbaren Ergebnissen führen kann. Genau dafür können eigenene Log-Dateien sehr nützlich sein. Wer es nicht braucht, verzichtet einfach auf solche Dinge! 🙂 Aus den Anfängen der Programmierung stammt die simple Regel EVA = "Eingabe, Verrabeitung, Ausgabe", die immer noch gelten kann.



  • Ich glaube stdlog meinte, dass man keine eigene Logdatei öffnen sollte, sondern alle Logausgaben nach stderr schreiben soll. Stderr kann man dann ja immer noch in eine Logdatei umleiten. Das wäre eigentlich der typische *NIX-Weg, ich weiß nicht wie gut das bei Windows funktioniert



  • linux_c89 schrieb:

    Ich glaube stdlog meinte, dass ...

    Genau das meinte ich. Du hast eigentlich alle Argumente drin: Umleitungen (wohin auch immer), Standard bei Unices, es fehlt nur noch der Hinweis, dass es - gutes Design vorausgesetzt - auf Wunsch in den Build-Optionen (=Makefile oder configure.ac) abstellbar ist.



  • Ok, dann wäre geklärt wo die Meldungen landen. Wie designt ihr eure Fehlerbehandlung?


Anmelden zum Antworten