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/02 16:56] gthanos [Finaly Block] |
java:exceptions_intro [2015/03/02 17:00] gthanos [Finaly Block] |
||
---|---|---|---|
Line 216: | Line 216: | ||
</code> | </code> | ||
- | Ο λόγος που μπορούμε να χρησιμοποιήσουμε το finaly block είναι για να συμπεριλάβουμε κώδικα που θέλουμε να εκτελεστεί σε όλες τις περιπτώσεις, όπως για παράδειγμα να κλείσουμε ελεγχόμενα τα αρχεία του προγράμματος. Στο παραπάνω παράδειγμα υπάρχει ολοκληρωμένη η μέθοδος ReadFile η οποία ανοίγει ένα αρχείο κειμένου για διάβασμα. Στο //finally// block η μέθοδος κλείνει το αρχείο που άνοιξε. | + | Ο λόγος που μπορούμε να χρησιμοποιήσουμε το finaly block είναι για να συμπεριλάβουμε κώδικα που θέλουμε να εκτελεστεί σε όλες τις περιπτώσεις, όπως για παράδειγμα να κλείσουμε ελεγχόμενα τα αρχεία του προγράμματος. Στο παραπάνω παράδειγμα παραλάσεται η μέθοδος ReadFile του προηγούμενου παραδείγματος, ώστε στο //finally// block η μέθοδος κλείνει το αρχείο που άνοιξε. Η διαφορά σε σχέση με την προηγούμενη μέθοδο είναι ότι ακόμη και εάν δημιουργηθεί ένα exception την ώρα που διαβάζουμε η ροή του προγράμματος θα περάσει από το finally block και το αρχείο θα κλείσει. Αυτό δεν ισχύει για το προηγούμενο παράδειγμα. |
====== Χειρισμός της εξαίρεσης σε υψηλότερο επίπεδο ====== | ====== Χειρισμός της εξαίρεσης σε υψηλότερο επίπεδο ====== | ||
Στην προηγούμενη ενότητα δείξαμε πως μπορούμε να χειριστούμε μια εξαίρεση όταν προκύπτει. Υπάρχει ένας μηχανισμός που μας επιτρέπει να μην χειριστούμε την εξαίρεση στο σημείο που προκύπτει αλλά στο σημείο που καλείται η μέθοδος μεσα στην οποία θα προκύψει μια εξαίρεση. | Στην προηγούμενη ενότητα δείξαμε πως μπορούμε να χειριστούμε μια εξαίρεση όταν προκύπτει. Υπάρχει ένας μηχανισμός που μας επιτρέπει να μην χειριστούμε την εξαίρεση στο σημείο που προκύπτει αλλά στο σημείο που καλείται η μέθοδος μεσα στην οποία θα προκύψει μια εξαίρεση. |