Große Try-Catch Blöcke
🚧 | Diese Seite befindet sich in Bearbeitung | 🚧 |
🤓 | Diese Seite ist eine Bewertungsrichtlinie, die ab Blatt 3 annotiert und ab Blatt 4 abgezogen wird. | 🤓 |
Beschreibung
Wir haben gelernt, dass Try-Catch Blöcke dafür da sind, kritische Stellen im Quellcode einzuklammern und deren geworfene Exception(s) zu fangen. Wir haben also gelernt was sie können.
Jetzt lernen wir noch, wie wir sie richtig benutzen. Dazu gibt es zum Glück nicht viel zu sagen:
Try-Catch Blöcke sollen nur genau die Stelle (meißt eine oder wenige Zeilen) die tatsächlich die Exception auslöst umfassen.
Negativbeispiel
try {
String line = scanner.nextLine();
int number = Integer.parseInt(line);
boolean valid = game.doMove(number);
if (!valid) {
System.out.println("No. That move wasn't valid. Too bad.");
}
} catch (NumberFormatException e) {
System.out.println("That wasn't a number you entered, was it?");
}
Positivbeispiel
String line = scanner.nextLine();
int number;
try {
int number = Integer.parseInt(line);
} catch (NumberFormatException e) {
System.out.println("That wasn't a number you entered, was it?");
return;
}
boolean valid = game.doMove(number);
if (!valid) {
System.out.println("No. That move wasn't valid. Too bad.");
}