Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
q1:java-trycatch [2017/09/20 09:33] – admin03 | q1:java-trycatch [2017/09/20 09:38] (aktuell) – admin03 | ||
---|---|---|---|
Zeile 44: | Zeile 44: | ||
Hier wird eine Eingabe von der Konsole gelesen, als int gespeichert und ausgegeben. Das geht so lange gut, wie auch ein numerischer Wert eingegeben wird. Beim Auslesen von alphanumerischen Werten wird hingegen eine java.util.NumberFormatException ausgelöst, da ein solches Literal nicht in einen numerischen Wert gewandelt werden kann. Ginge man nun her und würde diesen Fall lediglich durch einen try-catch-Block absichern, so wären zwar Fehler abgesichert, | Hier wird eine Eingabe von der Konsole gelesen, als int gespeichert und ausgegeben. Das geht so lange gut, wie auch ein numerischer Wert eingegeben wird. Beim Auslesen von alphanumerischen Werten wird hingegen eine java.util.NumberFormatException ausgelöst, da ein solches Literal nicht in einen numerischen Wert gewandelt werden kann. Ginge man nun her und würde diesen Fall lediglich durch einen try-catch-Block absichern, so wären zwar Fehler abgesichert, | ||
+ | |||
+ | ===== Mehrfache Catches ===== | ||
+ | |||
+ | Was kann noch so alles passieren?. Wenn wir eine Datei öffnen wollen, kann es z.B. sein, das sie gar nicht mehr exsistiert oder möglicherweise auch nicht lesbar, dann gibt es zwei unterschiedliche Exceptions die jeweis in der richtigen Reihenfolge bearbeitet werden müssen: | ||
+ | |||
+ | <code JAVA> | ||
+ | import java.io.*; | ||
+ | |||
+ | public class ReadGifSizeCatchingExceptions | ||
+ | { | ||
+ | public static void main( String[] args ) | ||
+ | { | ||
+ | try | ||
+ | { | ||
+ | RandomAccessFile f = new RandomAccessFile( " | ||
+ | f.seek( 6 ); | ||
+ | |||
+ | System.out.printf( "%s x %s Pixel%n", | ||
+ | | ||
+ | f.close(); | ||
+ | } | ||
+ | catch ( FileNotFoundException e ) | ||
+ | { | ||
+ | System.err.println( "Datei ist nicht vorhanden!" | ||
+ | } | ||
+ | catch ( IOException e ) | ||
+ | { | ||
+ | |||
+ | System.err.println( " | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | ===== Finally ===== | ||
+ | |||
+ | |||
<code JAVA> | <code JAVA> | ||
try | try |