Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Hallo und Guten Morgen,
ich gehe grad "Java ist auch eine Insel" durch und da bin ich auf den Try-catch Block gestoßen. Der code(mit Buch Kommentar) sieht wie folgt aus :
Fehler müssten zusätzlich in einen try-catch-Block gesetzt werden, da parseInt() eine NumberFormatException auslöst, wenn Buchstaben zur Umwandlung anstehen.
Beispiel Es soll ein einzelnes Zeichen eingelesen werden.
String s = javax.swing.JOptionPane.showInputDialog( "Bitte Zeichen eingeben" );
char c = 0;
if ( s != null && s.length() > 0 )
c = s.charAt( 0 );
das Programm lässt sich ohne Probleme ausführen und alles aber was bringt es?!
Die ganzen Zeichen versteh ich, den Zusammenhang aber anscheind nicht.
Bitte um Erklärung und vllt ein Praktisches Beispiel.
Du verwechselst Beispiele. Das Beispiel aus dem Buch lautet:
Java:
String s = javax.swing.JOptionPane.showInputDialog( "Bitte Zahl eingeben" );
int i = Integer.parseInt( s );
System.out.println( i * i );
Ruf das mal auf, und gib als Zahl etwas falsches ein (z.B.: "keineZahl"). Ohne den try-catch Block wird das Program abstuerzen, mit try-catch kann man es auffangen.
Es gibt bei der Verarbeitung bspw. von Ein- und Ausgaben potenzielle Fehlerquellen, die ein Programm bis zum Absturz bringen könnten.
Damit ein Programm nach einem solchen Fehler noch reagieren kann und einen Ausweg findet, setzt man kritischen Code in einen try-catch-Block.
Im try-Block steht alles das, was eine Exception, also einen Ausnahmefehler auslösen kann. Im catch-Block ist das zu finden, was das Programm im Fehlerfall tun soll.
also ganz allgemein gesprochen: du kannst gewissen Code innerhalb eines try-Blocks schreiben. Wenn dort irgendein Fehler passiert, zum Bsp weil er mit der Nutzereingabe nix anfangen kann, weil du durch 0 teilst, weil deine Festplatte abkackt und ein FileReader plötzlich ins Leere greift, oder what ever...
... dann sucht er nach einem catch-Block, der die aufgetretene Exception abfängt. Wenn er einen solchen findet, dann führt er den Code darin aus, statt dass das Programm abstürtzt. Denn genau das passiert, wenn ein Fehler auftritt, der nicht abgefangen wird: Der ausführende Thread sagt gute Nacht