This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
java:exceptions_intro [2015/03/03 06:42] gthanos [Exception Handler] |
java:exceptions_intro [2015/03/03 06:48] gthanos [Exception Handler] |
||
---|---|---|---|
Line 164: | Line 164: | ||
</code> | </code> | ||
- | καθώς ο μη εντόπισμός αρχείου θα ενέπιπτε σε ''IOException''. Σε αυτή την περίτπωση όμως δεν θα γνωρίζαμε αν υπάρχει το αρχείο αλλά δεν μπορούμε να το διαβάσουμε ή δεν υπάρχει καθόλου το αρχείο. | + | καθώς ο μη εντόπισμός αρχείου θα ενέπιπτε σε ''IOException'' που είναι η γονική κλάση του ''FileNotFoundException''. Σε αυτή την περίπτωση όμως όταν θα συνέβαινε κάποιο 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 ==== |