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/03 08:07] gthanos [Αντικείμενο της εξαίρεσης (exception object)] |
java:exceptions_intro [2018/03/12 07:50] gthanos |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ====== | + | ====== |
| - | Σε αυτή την ενότητα θα αναφερθούμε σε αντικείμενα τα οποία δημιουργούνται κατά την ροή εκτέλεσης ενός προγράμματος, | + | Σε αυτή την ενότητα θα αναφερθούμε σε αντικείμενα τα οποία δημιουργούνται κατά την ροή εκτέλεσης ενός προγράμματος, |
| - | Για να διασφαλίσουμε ότι το πρόγραμμά μας θα συνεχίσει την εκτέλεσή του ακόμη και αν συμβεί ένα απροσδόκητο γεγονός, | + | Για να διασφαλίσουμε ότι το πρόγραμμά μας θα συνεχίσει την εκτέλεσή του ακόμη και αν συμβεί ένα απροσδόκητο γεγονός, |
| ====== Αντικείμενο της εξαίρεσης (exception object) ====== | ====== Αντικείμενο της εξαίρεσης (exception object) ====== | ||
| - | Οτιδήποτε υπάρχει στην γλώσσα Java δεν είναι κάτι διαφορετικό απο αντικείμενο. Έτσι, ακόμη και οι εξαιρέσεις που μπορούν να προκληθούν, | ||
| - | Σε αυτό το σημείο ας δούμε ένα πολύ απλό και συχνό λάθος που μπορεί να προκύψει αν δεν το προσέξουμε εμείς ή ο χρήστης. | + | Κάθε εξαίρεση που μπορεί να προκληθεί παράγει ένα αντικείμενο το οποίο περιέχει όλες τις πληροφορίες που έχουν να κάνουν με το λάθος το οποίο έχει προκύψει, |
| + | |||
| + | Σε αυτό το σημείο ας δούμε ένα πολύ απλό και συχνό λάθος που μπορεί να προκύψει αν δεν | ||
| <code java TestDivideByZero.java> | <code java TestDivideByZero.java> | ||
| Line 17: | Line 18: | ||
| | | ||
| - | int x; | + | int x, y; |
| - | | + | |
| - | int result; | + | int result; |
| - | Scanner input = new Scanner(System.in); | + | Scanner input = new Scanner(System.in); |
| - | | + | |
| - | x = input.nextInt(); | + | x = input.nextInt(); |
| - | | + | |
| - | y = input.nextInt(); | + | y = input.nextInt(); |
| - | + | ||
| - | result = x/y; | + | result = x/y; |
| - | + | ||
| - | System.out.printf( " | + | System.out.printf( " |
| + | } | ||
| } | } | ||
| } | } | ||
| Line 37: | Line 39: | ||
| Τι θα συμβεί στο παραπάνω πρόγραμμα αν ο 2ος αριθμός που θα δώσει ο χρήστης είναι 0; Επίσης αν ο χρήστης δεν δώσει αριθμό σαν είσοδο αλλά γράμμα; | Τι θα συμβεί στο παραπάνω πρόγραμμα αν ο 2ος αριθμός που θα δώσει ο χρήστης είναι 0; Επίσης αν ο χρήστης δεν δώσει αριθμό σαν είσοδο αλλά γράμμα; | ||
| - | Όπως καταλαβαίνουμε, | + | Όπως καταλαβαίνουμε, |
| - | Στο παραπάνω παράδειγμα | + | Στο παραπάνω παράδειγμα , το σύστημα θα παράξει ένα αντικείμενο που θα περιγράφει το είδος του λάθους που συνέβη. |
| - | - να λάβουμε αυτό | + | - να λάβει το αντικείμενο |
| - | - να δούμε το λάθος που έχει προκύψει | + | - να εξετάσει |
| - | - να αντιμετωπίσουμε το λάθος | + | - να αντιμετωπίσει το λάθος, ώστε το πρόγραμμά να επιστρέψει σε ένα σημείο από όπου μπορεί να συνεχίσει τη λειτουργία του χωρίς πρόβλημα. |
| - | |Προηγούμενο: | + | |Προηγούμενο: |