Fehlerbehandlung
Fehlerbehandlung in C
Motivation:
- In Jeder Funktionen können Fehler auftreten
- wie werden diese an die aufrufende Funktion zurückgemeldet, um dann behandelt zu werden?
- z.B. Speicher ist endlich -
mallocist nicht in der Lage, die gewünschte Speichermenge zu allokierenEin Programm kann einen Fehler haben, obwohl es sich korrekt übersetzen ließ, d.h. es tritt ein Laufzeitfehler auf
1. Methode: Nutzen von Rückgabewerden
- Falls Fehler in Funktion auftritt:
- expliziter Wert wird zurückgegeben
- Fehlercode in globaler Variable errno setzen
- Setzen einer Hilfsfunktion perror. So kannn die Konsole eine Fehlermeldung ausgeben
- Es gibt Fehler, die sollen zum Abbruch führen
2. Methode: Nutzen der Abbruchfunktion int exit()
- Falls ein Fehler in einer Unterfunktion auftritt:
- Erst Fehleranalyse
- Dann Abbruch des Programms mittels
exit()- Rückgabewert > 0
Fehlercode - z.B:
exit(1);
- Rückgabewert > 0
exitbricht das Programm vollständig ab- Erfolgreiche Ausführung eines Programms gibt den Wert 0 zurück
Syntaktische Fehler beheben
- zum ersten Fehler gehen
- in die entsprechende Zeile Code gehen (siehe Fehlermeldung Compiler)
- Fehler verstehen
- Fehler beheben
- Kompilieren
- Fehler behoben?
- wenn ja: nächsten Fehler beheben
- wenn nein: zurück zu Schritt 3