java:exceptions_intro

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
java:exceptions_intro [2015/03/03 06:39]
gthanos [Exception Handler]
java:exceptions_intro [2015/03/03 06:46]
gthanos [Exception Handler]
Line 155: Line 155:
 }</​code>​ }</​code>​
  
-Παρατηρήστε ότι εμφανίζονται δύο **catch** blocks. Το πρώτο catch block αφορά [[http://​docs.oracle.com/​javase/​7/​docs/​api/​java/​io/​IOException.html|ΙΟException]] objects, ενώ το δεύτερο catch block αφορά [[http://​docs.oracle.com/​javase/​7/​docs/​api/​java/​io/​FileNotFoundException.html|FileNotFoundException]] objects.+Παρατηρήστε ότι εμφανίζονται δύο **catch** blocks. Το πρώτο catch block αφορά [[http://​docs.oracle.com/​javase/​7/​docs/​api/​java/​io/​IOException.html|ΙΟException]] objects, ενώ το δεύτερο catch block αφορά [[http://​docs.oracle.com/​javase/​7/​docs/​api/​java/​io/​FileNotFoundException.html|FileNotFoundException]] objects. Από τους συνδέσμους που παρατίθενται θα παρατηρήσετε ότι το ''​FileNotFoundException''​ είναι υποκλάση του ''​IOException''​. Ο παραπάνω κώδικας θα μπορούσε να παραλείπει τις γραμμές 
 + 
 +<code java> 
 +    catch(FileNotFoundException ex) { 
 +      System.out.println("​The specified file was not found at "+ path); 
 +      return "";​ 
 +    }    
 +</​code>​ 
 + 
 +καθώς ο μη εντόπισμός αρχείου θα ενέπιπτε σε ''​IOException''​ που είναι η γονική κλάση. Σε αυτή την περίπτωση όμως όταν θα συνέβαινε το exception δεν θα γνωρίζαμε εάν υπάρχει το αρχείο αλλά δεν μπορούμε να το διαβάσουμε ή δεν υπάρχει καθόλου το αρχείο που θέλουμε να διαβάσουμε στο filesystem. Επίσης,​ δεν θα είχε κανένα νόημα να βάλουμε τα catch blocks με ανάποδη σειρά δηλ. 
 +<code java> 
 +    catch(IOException ex) { 
 +      System.out.println("​IOException occured while opening file or reading from file "​+path);​ 
 +      System.out.println("​Exiting..."​);​ 
 +      System.exit(1);​ 
 +    }     
 +    catch(FileNotFoundException ex) { 
 +      System.out.println("​The specified file was not found at "+ path); 
 +      return "";​ 
 +    } 
 +</​code>​ 
 +Σε αυτή την περίπτωση,​ ακόμη και ένα Exception του τύπου ''​FileNotFoundException''​ θα διαχειριστεί από το πρώτο block που διαχειρίζεται τα ''​IOExcetpions''​.
  
 ==== Finaly Block ==== ==== Finaly Block ====
java/exceptions_intro.txt · Last modified: 2019/04/20 05:02 by gthanos