This shows you the differences between two versions of the page.
Both sides previous revision Previous revision | Next revision Both sides next revision | ||
java:exceptions_intro [2015/03/03 07:02] gthanos [Exception Handler] |
java:exceptions_intro [2015/03/03 07:08] gthanos [Exception Handler] |
||
---|---|---|---|
Line 127: | Line 127: | ||
while ((inputLine = in.readLine()) != null) { | while ((inputLine = in.readLine()) != null) { | ||
strDocument.append(inputLine); | strDocument.append(inputLine); | ||
- | throw new IOException(); | + | //throw new IOException(); |
} | } | ||
System.out.println("Closing File!"); | System.out.println("Closing File!"); | ||
Line 167: | Line 167: | ||
καθώς ο μη εντόπισμός αρχείου θα ενέπιπτε σε ''IOException'' που είναι η γονική κλάση του ''FileNotFoundException''. Σε αυτή την περίπτωση όμως όταν θα συνέβαινε κάποιο Exception δεν θα γνωρίζαμε εάν υπάρχει το αρχείο αλλά δεν μπορούμε να το διαβάσουμε ή δεν υπάρχει καθόλου το αρχείο που θέλουμε να διαβάσουμε στο filesystem. | καθώς ο μη εντόπισμός αρχείου θα ενέπιπτε σε ''IOException'' που είναι η γονική κλάση του ''FileNotFoundException''. Σε αυτή την περίπτωση όμως όταν θα συνέβαινε κάποιο Exception δεν θα γνωρίζαμε εάν υπάρχει το αρχείο αλλά δεν μπορούμε να το διαβάσουμε ή δεν υπάρχει καθόλου το αρχείο που θέλουμε να διαβάσουμε στο filesystem. | ||
- | Τέλος, δεν θα είχε κανένα νόημα να βάλουμε τα catch blocks με ανάποδη σειρά δηλ. | + | Επίσης, δεν θα είχε κανένα νόημα να βάλουμε τα catch blocks με ανάποδη σειρά δηλ. |
<code java> | <code java> | ||
catch(IOException ex) { | catch(IOException ex) { | ||
Line 178: | Line 178: | ||
</code> | </code> | ||
Σε αυτή την περίπτωση, ακόμη και ένα Exception του τύπου ''FileNotFoundException'' θα διαχειριστεί από το πρώτο block που διαχειρίζεται τα ''IOExcetpions''. | Σε αυτή την περίπτωση, ακόμη και ένα Exception του τύπου ''FileNotFoundException'' θα διαχειριστεί από το πρώτο block που διαχειρίζεται τα ''IOExcetpions''. | ||
+ | |||
+ | Τέλος, στο παραπάνω παράδειγμα βγάλτε τα σχόλια από την γραμμή για να δημιουργήσετε ένα ''IOException'' και παρατηρήστε την πορεία του κώδικα. | ||
+ | <code java> | ||
+ | //throw new IOException(); | ||
+ | </code> | ||
==== Finaly Block ==== | ==== Finaly Block ==== |