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:19]
gthanos [Finaly Block]
java:exceptions_intro [2015/03/03 06:42]
gthanos [Exception Handler]
Line 106: Line 106:
  
 Όπως βλέπουμε έχουμε το προηγούμενο παράδειγμα,​ εμπλουτισμένο όμως με κώδικα διαχείρισης της διαίρεσης με το μηδέν. Ο κώδικας θα αναγνωρίσει ότι υπάρχει δημιουργείται ''​ArithmeticException''​ και συγκεκριμένα διαίρεση με το μηδέν (0) και θα εκτυπώσει τα σχετικά μηνύματα. Όπως βλέπουμε έχουμε το προηγούμενο παράδειγμα,​ εμπλουτισμένο όμως με κώδικα διαχείρισης της διαίρεσης με το μηδέν. Ο κώδικας θα αναγνωρίσει ότι υπάρχει δημιουργείται ''​ArithmeticException''​ και συγκεκριμένα διαίρεση με το μηδέν (0) και θα εκτυπώσει τα σχετικά μηνύματα.
 +
 +=== Ανοίγοντας ένα αρχείο για διάβασμα ===
  
 Παρακάτω δίνεται ένα πιο σύνθετο παράδειγμα μία μεθόδου που διαβάζει ένα αρχείο κειμένου και το επιστρέφει στη μορφή ενός String. Παρακάτω δίνεται ένα πιο σύνθετο παράδειγμα μία μεθόδου που διαβάζει ένα αρχείο κειμένου και το επιστρέφει στη μορφή ενός String.
Line 116: Line 118:
   ​   ​
   public String readFile(String path) {   public String readFile(String path) {
-  ​+
     try {     try {
       File file = new File (path);       File file = new File (path);
Line 123: Line 125:
       String inputLine;       String inputLine;
       StringBuffer strDocument = new StringBuffer();​       StringBuffer strDocument = new StringBuffer();​
-      ​try { +      while ((inputLine = in.readLine()) != null) { 
-        ​while ((inputLine = in.readLine()) != null) { +        strDocument.append(inputLine);​
-          strDocument.append(inputLine); +
-        } +
-        fReader.close();​ +
-      }catch(IOException ex) { +
-        System.out.println("​IOException occured while opening file or reading from file "​+path);​ +
-        System.out.println("​Exiting..."​);​ +
-        System.exit(1);+
       }       }
 +      fReader.close();​
       return strDocument.toString();​       return strDocument.toString();​
     }     }
Line 138: Line 134:
       System.out.println("​The specified file was not found at "+ path);       System.out.println("​The specified file was not found at "+ path);
       return "";​       return "";​
 +    }   
 +    catch(IOException ex) {
 +      System.out.println("​IOException occured while opening file or reading from file "​+path);​
 +      System.out.println("​Exiting..."​);​
 +      System.exit(1);​
     }    ​     }    ​
 +    return "";​
   }   }
   ​   ​
Line 151: Line 153:
   }   }
  
-}+}</​code>​ 
 + 
 +Παρατηρήστε ότι εμφανίζονται δύο **catch** blocks. Το πρώτο catch block αφορά [[http://​docs.oracle.com/​javase/​7/​docs/​api/​java/​io/​IOException.html|ΙΟException]] objects, ενώ το δεύτερο catch block αφορά [[http://​docs.oracle.com/​javase/​7/​docs/​api/​java/​io/​FileNotFoundException.html|FileNotFoundException]] objects. Από τους συνδέσμους που παρατίθενται θα παρατηρήσετε ότι το ''​FileNotFoundException''​ είναι υποκλάση του ''​IOException''​. Ο παραπάνω κώδικας θα μπορούσε να παραλείπει τις γραμμές 
 + 
 +<code java> 
 +    catch(FileNotFoundException ex) { 
 +      System.out.println("​The specified file was not found at "+ path); 
 +      return "";​ 
 +    }   
 </​code>​ </​code>​
 +
 +καθώς ο μη εντόπισμός αρχείου θα ενέπιπτε σε ''​IOException''​. Σε αυτή την περίτπωση όμως δεν θα γνωρίζαμε αν υπάρχει το αρχείο αλλά δεν μπορούμε να το διαβάσουμε ή δεν υπάρχει καθόλου το αρχείο.
  
 ==== Finaly Block ==== ==== Finaly Block ====
java/exceptions_intro.txt · Last modified: 2019/04/20 05:02 by gthanos