java:exceptions_intro

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
java:exceptions_intro [2015/03/03 06:04]
gthanos [Τι είναι η εξαίρεση (Exception);]
java:exceptions_intro [2015/03/03 06:08]
gthanos [Try - catch block]
Line 37: Line 37:
 Τι θα συμβεί στο παραπάνω πρόγραμμα αν ο 2ος αριθμός που θα δώσει ο χρήστης είναι 0; Επίσης αν ο χρήστης δεν δώσει αριθμό σαν είσοδο αλλά γράμμα;​ Τι θα συμβεί στο παραπάνω πρόγραμμα αν ο 2ος αριθμός που θα δώσει ο χρήστης είναι 0; Επίσης αν ο χρήστης δεν δώσει αριθμό σαν είσοδο αλλά γράμμα;​
  
-Όπως καταλαβαίνουμε,​ θα πρέπει να προβλέψουμε όλες τις περιπτώσεις(ή τουλάχιστον τις πιο βασικές) στις οποίες ο χρήστης είτε απο λάθος είτε επειδή είναι κακόβουλος θα δώσει σαν είσοδο κάτι το οποίο δεν είναι σωστό και θα προκαλέσει πρόβλημα. +Όπως καταλαβαίνουμε,​ θα πρέπει να προβλέψουμε όλες τις περιπτώσεις (ή τουλάχιστον τις πιο βασικές) στις οποίες ο χρήστης είτε από λάθος είτε επειδή είναι κακόβουλος θα δώσει σαν είσοδο κάτι το οποίο δεν είναι σωστό και θα προκαλέσει πρόβλημα. ​Το παραπάνω παράδειγμα είναι ​ένα από τα προβλήματα που μπορούν να δημιουργηθούν ​σε ένα πρόγραμμα ​και θα πρέπει να το καλύψουμε με σκοπό **να μην σταματήσει η εκτέλεση του προγράμματος**.
- +
-Προφανώς το παραπάνω παράδειγμα είναι ​μια μικρή κατηγορία των διαφόρων ​προβλημάτων που μπορούν να δημιουργηθούν και θα πρέπει να καλύψουμε με σκοπό **να μην σταματήσει η εκτέλεση του προγράμματος**.+
  
 Στο παραπάνω παράδειγμα συνεπώς,​ το σύστημα θα παράξει ένα αντικείμενο που θα περιγράφει το είδος του λάθους που συνέβη. Πρέπει εμείς με κάποιον τρόπο: Στο παραπάνω παράδειγμα συνεπώς,​ το σύστημα θα παράξει ένα αντικείμενο που θα περιγράφει το είδος του λάθους που συνέβη. Πρέπει εμείς με κάποιον τρόπο:
   - να λάβουμε αυτό το αντικείμενο   - να λάβουμε αυτό το αντικείμενο
   - να δούμε το λάθος που έχει προκύψει   - να δούμε το λάθος που έχει προκύψει
-  - να αντιμετωπίσουμε το λάθος έτσι ώστε το πρόγραμμά μας να επιστρέψει σε μια σωστή κατάσταση.+  - να αντιμετωπίσουμε το λάθος έτσι ώστε το πρόγραμμά μας να επιστρέψει σε μια ​"σωστή" ​κατάσταση.
  
 ====== Try - catch block ====== ====== Try - catch block ======
-Στην προηγούμενη υποενότητα αναφερθήκαμε συνοπτικά στο αντικείμενο της εξαίρεσης. ​Δεν αναφερθήκαμε ​όμως στον τρόπο με τον οποίο ​αντιμετωπίζουμε τις εξαιρέσεις και πως τις ​χειριζόμαστε.  +Στην προηγούμενη υποενότητα αναφερθήκαμε συνοπτικά στο αντικείμενο της εξαίρεσης. ​Εδώ ​θα δόυμε τον τρόπο με τον οποίο ​διαχειριζόμαστε τις εξαιρέσεις. ​
- +
-Τονίσαμε οτι η εξαίρεση είναι εκτός της καθορισμένης λειτουργίας του προγράμματος και όταν προκύπτουν δημιουργούν ένα γεγονός(event). Όπως και τα υπόλοιπα γεγονότα που υπάρχουν ​στην java έτσι και αυτό το γεγονός χρειάζεται έναν χειριστή που θα φροντίσει για τη διαδικασία που θα ακολουθηθεί όταν προκύψει ένα τέτοιο γεγονός.  +
 ==== Exception Handler ==== ==== Exception Handler ====
 Κάθε τμήμα του κώδικα που υπάρχει περίπτωση να πυροδοτήσει μια εξαίρεση θα πρέπει να την εμπερικλείουμε σε ένα try block. Το block αυτό του κώδικα θα περιγράφει τον τρόπο αντιμετώπισης της κάθε πιθανής εξαίρεσης που μπορεί να προκύψει. Ο ορισμός του block είναι ο εξής: Κάθε τμήμα του κώδικα που υπάρχει περίπτωση να πυροδοτήσει μια εξαίρεση θα πρέπει να την εμπερικλείουμε σε ένα try block. Το block αυτό του κώδικα θα περιγράφει τον τρόπο αντιμετώπισης της κάθε πιθανής εξαίρεσης που μπορεί να προκύψει. Ο ορισμός του block είναι ο εξής:
java/exceptions_intro.txt · Last modified: 2019/04/20 05:02 by gthanos