Große Try-Catch Blöcke: Unterschied zwischen den Versionen

Aus Programmieren-Wiki
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
 
Zeile 1: Zeile 1:
{{Bewertungsrichtlinie
{{CategoryBlock
|baustelle=Ja
|Baustelle=Ja
|blatt=3
|Java Grundlagen=Nein
|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.
|Organisation=Nein
|Programmierstil=Nein
|Bewertungsrichtlinie=Ja
|blattAnnotation=3
|blattAbzug=4
}}
{{Inhaltsblock
|vorher==== 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.
Wir haben also gelernt was sie können.


Zeile 9: Zeile 17:


'''Try-Catch Blöcke sollen nur genau die Stelle (meißt eine oder wenige Zeilen) die tatsächlich die Exception auslöst umfassen.'''
'''Try-Catch Blöcke sollen nur genau die Stelle (meißt eine oder wenige Zeilen) die tatsächlich die Exception auslöst umfassen.'''
|schweregrad=leicht
}}
|negativ=<syntaxhighlight lang="Java">
{{Inhaltsblock
try {
|color=red
|vorher=Negativbeispiel:
|Beispiel=try {
     String line = scanner.nextLine();
     String line = scanner.nextLine();
     int number = Integer.parseInt(line);
     int number = Integer.parseInt(line);
Zeile 21: Zeile 31:
     System.out.println("That wasn't a number you entered, was it?");
     System.out.println("That wasn't a number you entered, was it?");
}
}
</syntaxhighlight>
|beispielname=TryCatchBad
|positiv=<syntaxhighlight lang="Java">
}}
String line = scanner.nextLine();
{{Inhaltsblock
|color=green
|vorher=Positivbeispiel:
|Beispiel=String line = scanner.nextLine();
int number;
int number;
try {
try {
Zeile 35: Zeile 48:
     System.out.println("No. That move wasn't valid. Too bad.");
     System.out.println("No. That move wasn't valid. Too bad.");
}
}
</syntaxhighlight>
|beispielname=TryCatchGood
|weiterlesen=Nein
}}
}}

Aktuelle Version vom 13. Oktober 2025, 15:12 Uhr

🚧 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.");
}