Errorfunktion selber schreiben
void error( std::string message){ std::cout << message << "\n"; } // im code anderer Funktion if (input < 0) { error("ungültiger Wert. \n"); }
Dient zum Überprüfen falscher Argumente
.
Exceptions (Klasse verarbeitet Fehler)
Exceptions trennen den Fehlererkennung (in Funktion) vom Verarbeitungsort (main).
– Es wird ein Klasse pro Fehlertyp definiert
. Aufgabe der Klasse: Fehlermeldung werfen
– Im main werden die Fehlermeldungen global gesamelt
// Notwendige Infrastruktur: Leere Fehlerklasse class Zero_Input{ }; // Fehlerdetektion in Funktion int get_value(){ if (cin == "" || cin == "0"){ throw Zero_Input{}; } } // Fehlerbehandlung aufgrund der Klassen int main() try{ <code main> } catch( Zero_Input ){ std::cerr<< "Ops. Leerer Input \n"; return 1; }
– main() ist ohne geschweifte Klammern !
– Fehlerausgabe auf std:cerr nicht auf std::cout
– Returnwert hat einen Wert unterschiedlich von 0