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