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/02 07:53] gthanos [Exception Handler] |
java:exceptions_intro [2015/03/02 08:00] gthanos [Exception Handler] |
||
---|---|---|---|
Line 74: | Line 74: | ||
public static void main (String[] args) { | public static void main (String[] args) { | ||
- | int x; | + | int x, y, result; |
- | int y; | + | |
- | int result; | + | Scanner input = new Scanner(System.in); |
- | Scanner input = new Scanner(System.in); | + | |
System.out.print( "Enter first integer: " ); | System.out.print( "Enter first integer: " ); | ||
Line 87: | Line 86: | ||
try { | try { | ||
result = x/y; | result = x/y; | ||
- | System.out.printf( "Product is %d\n", result ); | + | System.out.printf( "Product is %d\n", result ); |
} catch (ArithmeticException ae) { | } catch (ArithmeticException ae) { | ||
System.out.println("ArithmeticException occured!"); | System.out.println("ArithmeticException occured!"); | ||
Line 102: | Line 101: | ||
==== Finaly Block ==== | ==== Finaly Block ==== | ||
- | Εκτός απο τα catch blocks, μπορούμε να έχουμε ένα finaly block το οποίο θα εκτελεστεί //**πάντα**//. Ακόμη και σε περίπτωση που προκύψει μια εξαίρεση ενός τύπου που δεν έχουμε φροντίσει να συμπεριλάβουμε, το finaly block θα εκτελεστεί. | + | Εκτός απο τα catch blocks, μπορούμε να έχουμε ένα finaly block το οποίο θα εκτελεστεί //**πάντα**//. Ακόμη και σε περίπτωση που προκύψει μια εξαίρεση ενός τύπου που δεν έχουμε φροντίσει να συμπεριλάβουμε ή δεν προκύψει καμία εξαίρεση, το finaly block θα εκτελεστεί. |
<code java> | <code java> | ||
Line 128: | Line 126: | ||
</code> | </code> | ||
- | Επίσης, ένας λόγος που μπορούμε να χρησιμοποιήσουμε το finaly είναι για να συμπεριλάβουμε κώδικα που θέλουμε να εκτελεστεί για όλες τις εξαιρέσεις όπως για παράδειγμα να κλείσουμε ελεγχόμενα το πρόγραμμα. | + | Ένας λόγος που μπορούμε να χρησιμοποιήσουμε το finaly block είναι για να συμπεριλάβουμε κώδικα που θέλουμε να εκτελεστεί σε όλες τις περιπτώσεις, όπως για παράδειγμα να κλείσουμε ελεγχόμενα τα αρχεία του προγράμματος. Στο παραπάνω παράδειγμα υπάρχει ολοκληρωμένο ένα μικρό τμήμα κώδικα που ανοίγει ένα αρχείο, γράφει κάτι και μετά το κλείνει το αρχείο που άνοιξε. |
- | + | ||
- | Στο παραπάνω παράδειγμα υπάρχει ολοκληρωμένο ένα μικρό τμήμα κώδικα που ανοίγει ένα αρχείο, γράφει κάτι και μετά το κλείνει. | + | |
====== Χειρισμός της εξαίρεσης σε υψηλότερο επίπεδο ====== | ====== Χειρισμός της εξαίρεσης σε υψηλότερο επίπεδο ====== | ||
Στην προηγούμενη ενότητα δείξαμε πως μπορούμε να χειριστούμε μια εξαίρεση όταν προκύπτει. Υπάρχει ένας μηχανισμός που μας επιτρέπει να μην χειριστούμε την εξαίρεση στο σημείο που προκύπτει αλλά στο σημείο που καλείται η μέθοδος μεσα στην οποία θα προκύψει μια εξαίρεση. | Στην προηγούμενη ενότητα δείξαμε πως μπορούμε να χειριστούμε μια εξαίρεση όταν προκύπτει. Υπάρχει ένας μηχανισμός που μας επιτρέπει να μην χειριστούμε την εξαίρεση στο σημείο που προκύπτει αλλά στο σημείο που καλείται η μέθοδος μεσα στην οποία θα προκύψει μια εξαίρεση. |