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 17:23] gthanos [Exception Handler] |
java:exceptions_intro [2015/03/03 06:05] gthanos [Αντικείμενο της εξαίρεσης (exception object)] |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== Τι είναι η εξαίρεση (Exception); ====== | ====== Τι είναι η εξαίρεση (Exception); ====== | ||
- | Όπως αναφέρει και το όνομα της συγκεκριμένης ενότητας, θα αναφερθούμε σε αντικείμενα τα οποία δημιουργούνται κατά την ροή εκτέλεσης ενός προγράμματος, όταν συμβαίνει κάτι αναπάντεχο ή μη διαχειρίσιμο από το πρόγραμμα. Σε αυτές της περιπτώσεις παράγεται ένα νέο αντικείμενο που ονομάζεται "εξαίρεση" (exception), με παράλληλη διακοπή της κανονικής ροής του προγράμματος μας. Ο προγραμματιστής καλείται να διαχειριστεί μέσα από επιπλέον κώδικα τις εξαιρέσεις αυτές, και να αντιμετωπίσει τα γεγονότα από τα οποία προέρχονται. | + | Σε αυτή την ενότητα θα αναφερθούμε σε αντικείμενα τα οποία δημιουργούνται κατά την ροή εκτέλεσης ενός προγράμματος, όταν συμβαίνει κάτι αναπάντεχο ή μη διαχειρίσιμο από το πρόγραμμα. Σε αυτές της περιπτώσεις παράγεται ένα νέο αντικείμενο που ονομάζεται "εξαίρεση" (exception), με παράλληλη διακοπή της κανονικής ροής του προγράμματος. Ο προγραμματιστής καλείται να διαχειριστεί μέσα από επιπλέον κώδικα τις πιθανές εξαιρέσεις, και κατ' επέκταση να διαχειριστεί ομαλά τα γεγονότα από τα οποία προέρχονται. |
- | Για να διασφαλίσουμε οτι το πρόγραμμά μας θα συνεχίσει την εκτέλεσή του ακόμη και αν συμβεί ένα απροσδόκητο γεγονός, χρησιμοποιούμε τον μηχανισμό της διαχείρισης των **εξαιρέσεων (exceptions)**. Το βασικό πλεονέκτημα που μας προσδίδει η χρήση των εξαιρέσεων είναι το γεγονός ότι μπορούμε να επιλέξουμε σε ποιο σημείο του προγράμματος θα διαχειριστούμε την εξαίρεση που έχει προκύψει. | + | Για να διασφαλίσουμε ότι το πρόγραμμά μας θα συνεχίσει την εκτέλεσή του ακόμη και αν συμβεί ένα απροσδόκητο γεγονός, χρησιμοποιούμε τον μηχανισμό διαχείρισης των **εξαιρέσεων (exceptions)**. Το βασικό πλεονέκτημα που μας προσδίδει η χρήση των εξαιρέσεων είναι το γεγονός ότι μπορούμε να επιλέξουμε σε ποιο σημείο του προγράμματος θα διαχειριστούμε την εξαίρεση που έχει προκύψει. |
Line 37: | Line 37: | ||
Τι θα συμβεί στο παραπάνω πρόγραμμα αν ο 2ος αριθμός που θα δώσει ο χρήστης είναι 0; Επίσης αν ο χρήστης δεν δώσει αριθμό σαν είσοδο αλλά γράμμα; | Τι θα συμβεί στο παραπάνω πρόγραμμα αν ο 2ος αριθμός που θα δώσει ο χρήστης είναι 0; Επίσης αν ο χρήστης δεν δώσει αριθμό σαν είσοδο αλλά γράμμα; | ||
- | Όπως καταλαβαίνουμε, θα πρέπει να προβλέψουμε όλες τις περιπτώσεις(ή τουλάχιστον τις πιο βασικές) στις οποίες ο χρήστης είτε απο λάθος είτε επειδή είναι κακόβουλος θα δώσει σαν είσοδο κάτι το οποίο δεν είναι σωστό και θα προκαλέσει πρόβλημα. | + | Όπως καταλαβαίνουμε, θα πρέπει να προβλέψουμε όλες τις περιπτώσεις (ή τουλάχιστον τις πιο βασικές) στις οποίες ο χρήστης είτε από λάθος είτε επειδή είναι κακόβουλος θα δώσει σαν είσοδο κάτι το οποίο δεν είναι σωστό και θα προκαλέσει πρόβλημα. |
Προφανώς το παραπάνω παράδειγμα είναι μια μικρή κατηγορία των διαφόρων προβλημάτων που μπορούν να δημιουργηθούν και θα πρέπει να καλύψουμε με σκοπό **να μην σταματήσει η εκτέλεση του προγράμματος**. | Προφανώς το παραπάνω παράδειγμα είναι μια μικρή κατηγορία των διαφόρων προβλημάτων που μπορούν να δημιουργηθούν και θα πρέπει να καλύψουμε με σκοπό **να μην σταματήσει η εκτέλεση του προγράμματος**. |