java:exceptions_try_catch_block

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
java:exceptions_try_catch_block [2017/02/16 15:21]
gthanos
java:exceptions_try_catch_block [2019/04/20 03:55] (current)
gthanos [Άλλο παράδειγμα - Ανοίγοντας ένα αρχείο για διάβασμα]
Line 29: Line 29:
 Εντός του **try** block βάζουμε τον κώδικα που μπορεί να δημιουργηθεί μια εξαίρεση. Κάθε **catch** block ορίζει ένα διαφορετικό τύπο εξαίρεσης μέσα σε παρένθεση (''​ExceptionTypeOne'',​ ''​ExceptionTypeTwo'',​ κλπ). Εάν η εξαίρεση που παράγεται συμπίπτει __ως προς τον τύπο__ της με ένα αντικείμενο που ορίζεται εντός της παρενθέσεως ενός **catch** block, τότε αυτό το block θα εκτελεστεί. Θα εκτελεστεί επομένως ο κώδικας αντιστοιχεί στον τύπο δεδομένων ο οποίος παράχθηκε από την εκάστοτε εξαίρεση. ​ Εντός του **try** block βάζουμε τον κώδικα που μπορεί να δημιουργηθεί μια εξαίρεση. Κάθε **catch** block ορίζει ένα διαφορετικό τύπο εξαίρεσης μέσα σε παρένθεση (''​ExceptionTypeOne'',​ ''​ExceptionTypeTwo'',​ κλπ). Εάν η εξαίρεση που παράγεται συμπίπτει __ως προς τον τύπο__ της με ένα αντικείμενο που ορίζεται εντός της παρενθέσεως ενός **catch** block, τότε αυτό το block θα εκτελεστεί. Θα εκτελεστεί επομένως ο κώδικας αντιστοιχεί στον τύπο δεδομένων ο οποίος παράχθηκε από την εκάστοτε εξαίρεση. ​
  
-Ας δούμε ​ένα μικρό τμήμα κώδικα που εντοπίζει ​ένα ​είδος εξαίρεσης το οποίο συναντήσαμε ​και ​παραπάνω:​+Στο προηγούμενο παράδειγμα, ας προσθέσουμε ένα ​τμήμα κώδικα που εντοπίζει ​το είδος εξαίρεσης το οποίο συναντήσαμε παραπάνω:​
  
 <code java TestDivideByZero.java>​ <code java TestDivideByZero.java>​
Line 61: Line 61:
 </​code>​ </​code>​
  
-Όπως βλέπουμε έχουμε το προηγούμενο παράδειγμα,​ εμπλουτισμένο όμως με κώδικα διαχείρισης της διαίρεσης με το μηδέν. Ο κώδικας θα αναγνωρίσει ότι υπάρχει δημιουργείται ''​ArithmeticException''​ και συγκεκριμένα διαίρεση με το μηδέν (0) και θα εκτυπώσει τα σχετικά μηνύματα.+Όπως βλέπουμε έχουμε το προηγούμενο παράδειγμα,​ εμπλουτισμένο όμως με κώδικα διαχείρισης της ​εξαίρεση που παράγεται από τη διαίρεση ​ενός ακεραίου ​με το μηδέν. Ο κώδικας θα αναγνωρίσει ότι υπάρχει δημιουργείται ''​ArithmeticException''​ και συγκεκριμένα διαίρεση με το μηδέν (0) και θα εκτυπώσει τα σχετικά μηνύματα.
  
-==== Παράδειγμα - Ανοίγοντας ένα αρχείο για διάβασμα ====+===== Άλλο παράδειγμα - Ανοίγοντας ένα αρχείο για διάβασμα ​=====
  
 Παρακάτω δίνεται ένα πιο σύνθετο παράδειγμα μία μεθόδου που ανοίγει ένα αρχείο κειμένου για διάβασμα και επιστρέφει το περιεχόμενο του σε μορφή συμβολοσειράς (//​String//​). Παρακάτω δίνεται ένα πιο σύνθετο παράδειγμα μία μεθόδου που ανοίγει ένα αρχείο κειμένου για διάβασμα και επιστρέφει το περιεχόμενο του σε μορφή συμβολοσειράς (//​String//​).
Line 82: Line 82:
       StringBuffer strDocument = new StringBuffer();​       StringBuffer strDocument = new StringBuffer();​
       while ((inputLine = in.readLine()) != null) {       while ((inputLine = in.readLine()) != null) {
-        strDocument.append(inputLine);​+        strDocument.append(inputLine+"​\n"​);
         //throw new IOException();​         //throw new IOException();​
       }       }
Line 142: Line 142:
       }       }
 </​code>​ </​code>​
-για ​να δημιουργήσετε ένα ''​IOException''​ και παρατηρήστε από τα μηνύματα που εκτυπώνονται κατά την εκτέλεση του προγράμματος την πορεία του προγράμματος.+με στόχο ​να δημιουργήσετε ένα ''​IOException''​ και παρατηρήστε από τα μηνύματα που εκτυπώνονται κατά την εκτέλεση του προγράμματος την πορεία του προγράμματος.
  
 ===== Finaly Block ===== ===== Finaly Block =====
Line 169: Line 169:
       while ((inputLine = in.readLine()) != null) {       while ((inputLine = in.readLine()) != null) {
         strDocument.append(inputLine);​         strDocument.append(inputLine);​
-        //throw new IOException();​ 
       }       }
       return strDocument.toString();​       return strDocument.toString();​
java/exceptions_try_catch_block.1487258461.txt.gz · Last modified: 2017/02/16 15:21 by gthanos