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 07:50] gthanos [Exception Handler] |
java:exceptions_intro [2015/03/02 07:53] gthanos [Exception Handler] |
||
---|---|---|---|
Line 100: | Line 100: | ||
Όπως βλέπουμε έχουμε το προηγούμενο παράδειγμα, εμπλουτισμένο όμως με κάποιον χειριστή(handler) ο οποίος θα αναγνωρίσει οτι υπάρχει κάποια διαίρεση με το 0 και έτσι θα ενημερώσει τον χρήστη. | Όπως βλέπουμε έχουμε το προηγούμενο παράδειγμα, εμπλουτισμένο όμως με κάποιον χειριστή(handler) ο οποίος θα αναγνωρίσει οτι υπάρχει κάποια διαίρεση με το 0 και έτσι θα ενημερώσει τον χρήστη. | ||
- | |||
- | Ας δούμε ένα τμήμα κώδικα όπου θα βάζαμε αν χειριζόμασταν αρχεία αλλά και δομές δεδομένων: | ||
- | |||
- | <code java> | ||
- | try { | ||
- | |||
- | } catch (IndexOutOfBoundsException e) { | ||
- | System.err.println("IndexOutOfBoundsException: " + e.getMessage()); | ||
- | } catch (IOException e) { | ||
- | System.err.println("Caught IOException: " + e.getMessage()); | ||
- | } | ||
- | |||
- | </code> | ||
- | |||
- | Μπορούμε να καταλάβουμε ποιο είναι το πρώτο είδος εξαίρεσης που θα εντοπίσει; Είναι η εξαίρεση που προκύπτει όταν βγαίνουμε εκτός ορίων μιας δομής(π.χ. πίνακας).Παρατηρούμε όμως οτι υπάρχει και ένα επιπλέον block που καλύπτει και τις εξαιρέσεις που μπορούν να προκύψουν απο την είσοδο ή την έξοδο στοιχείων (παράδειγμα: προσπαθούμε να ανοίξουμε ένα αρχείο που δεν υπάρχει). | ||
- | |||
- | Στο παραπάνω παράδειγμα το μόνο που κάνουμε είναι να εκτυπώσουμε ένα μήνυμα οτι προέκυψε μια εξαίρεση. Προφανώς, μπορούμε και πρέπει να βάλουμε κώδικα που κάνει κάτι πιο σημαντικό απο αυτό. | ||
==== Finaly Block ==== | ==== Finaly Block ==== |