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 06:08] gthanos [Try - catch block] |
java:exceptions_intro [2015/03/03 06:12] gthanos [Exception Handler] |
||
---|---|---|---|
Line 57: | Line 57: | ||
}catch (ExceptionTypeOne ex) { | }catch (ExceptionTypeOne ex) { | ||
+ | |||
+ | /* | ||
+ | * exception handler for ExceptionTypeOne objects. | ||
+ | */ | ||
}catch (ExceptionTypeTwo ex) { | }catch (ExceptionTypeTwo ex) { | ||
+ | |||
+ | /* | ||
+ | * exception handler for ExceptionTypeOne objects. | ||
+ | */ | ||
} | } | ||
</code> | </code> | ||
- | Εντός του **try** block βάζουμε τον κώδικα που μπορεί να προκύψει μια εξαίρεση. Κάθε **catch** block ορίζει ένα διαφορετικό τύπο εξαίρεσης μέσα στη παρένθεση. Εάν η εξαίρεση που παράγεται συμπίπτει __ως προς τον τύπο__ της με ένα αντικείμενο που ορίζεται εντός της παρενθέσεως ενός **catch** block, τότε αυτό το block θα εκτελεστεί. Θα εκτελεστεί επομένως ο κώδικας αντιστοιχεί στον τύπο δεδομένων ο οποίος παράχθηκε από την εκάστοτε εξαίρεση. | + | Εντός του **try** block βάζουμε τον κώδικα που μπορεί να δημιουργηθεί μια εξαίρεση. Κάθε **catch** block ορίζει ένα διαφορετικό τύπο εξαίρεσης μέσα σε παρένθεση (''ExceptionTypeOne'', ''ExceptionTypeTwo'', κλπ). Εάν η εξαίρεση που παράγεται συμπίπτει __ως προς τον τύπο__ της με ένα αντικείμενο που ορίζεται εντός της παρενθέσεως ενός **catch** block, τότε αυτό το block θα εκτελεστεί. Θα εκτελεστεί επομένως ο κώδικας αντιστοιχεί στον τύπο δεδομένων ο οποίος παράχθηκε από την εκάστοτε εξαίρεση. |
Ας δούμε ένα μικρό τμήμα κώδικα που εντοπίζει ένα είδος εξαίρεσης το οποίο συναντήσαμε και παραπάνω: | Ας δούμε ένα μικρό τμήμα κώδικα που εντοπίζει ένα είδος εξαίρεσης το οποίο συναντήσαμε και παραπάνω: | ||
Line 97: | Line 105: | ||
</code> | </code> | ||
- | Όπως βλέπουμε έχουμε το προηγούμενο παράδειγμα, εμπλουτισμένο όμως με κώδικα διαχείρισης της διαίρεσης με το μηδέν. Ο κώδικας θα αναγνωρίσει ότι υπάρχει δημιουργείται ''ArithmeticException'' και συγκεκριμένα διαίρεση με το μηδέν και θα εκτυπώσει τα σχετικά μηνύματα. | + | Όπως βλέπουμε έχουμε το προηγούμενο παράδειγμα, εμπλουτισμένο όμως με κώδικα διαχείρισης της διαίρεσης με το μηδέν. Ο κώδικας θα αναγνωρίσει ότι υπάρχει δημιουργείται ''ArithmeticException'' και συγκεκριμένα διαίρεση με το μηδέν (0) και θα εκτυπώσει τα σχετικά μηνύματα. |
- | Παρακάτω δίνεται το παράδειγμα μία μεθόδου που διαβάζει ένα αρχείο κειμένου και το επιστρέφει στη μορφή ενός String. | + | Παρακάτω δίνεται ένα πιο σύνθετο παράδειγμα μία μεθόδου που διαβάζει ένα αρχείο κειμένου και το επιστρέφει στη μορφή ενός String. |
<code java WholeFileReader.java> | <code java WholeFileReader.java> | ||
Line 139: | Line 147: | ||
} | } | ||
catch(IndexOutOfBoundsException ex) { | catch(IndexOutOfBoundsException ex) { | ||
- | System.out.println("No file has been specified!\n"); | + | System.out.println("No file has been specified from command line!\n"); |
} | } | ||
} | } |