java:exceptions_try_with_resources

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_with_resources [2015/03/09 07:27]
gthanos
java:exceptions_try_with_resources [2017/02/16 15:09] (current)
gthanos
Line 19: Line 19:
         //throw new IOException();​         //throw new IOException();​
       }       }
-      fReader.close();​ 
       return strDocument.toString();​       return strDocument.toString();​
     }     }
Line 48: Line 47:
 </​code>​ </​code>​
  
-όπου ανοίγουμε ένα resource πριν εισέλθουμε στο σώμα του **try** block. Σε αυτό το τμήμα κώδικα η ιδιαιτερότητα είναι ότι δεν χρειάζεται να ανησυχούμε για το αν θα κλείσω σωστά το FileReader object ή όχι. Ανεξάρτητα από το αν θα δημιουργηθεί Exception ή όχι, το **JVM** θα αναλάβει να κλείσει το FileReader object αν αυτό παραμένει ανοιχτό. Απαραίτητη προϋπόθεση για να συμβεί το παραπάνω είναι η κλάση του αντικειμένου που θα δημιουργηθεί να υποστηρίζει το interface [[http://​docs.oracle.com/​javase/​7/​docs/​api/​java/​lang/​AutoCloseable.html|java.lang.Autoclosable]] ​και τα sub-interfaces αυτού (π.χ. [[http://​docs.oracle.com/​javase/​7/​docs/​api/​java/​io/​Closeable.html|java.io.Closable]]).+όπου ανοίγουμε ένα resource πριν εισέλθουμε στο σώμα του **try** block. Σε αυτό το τμήμα κώδικα η ιδιαιτερότητα είναι ότι δεν χρειάζεται να ανησυχούμε για το αν θα κλείσει σωστά το FileReader object ή όχι. Ανεξάρτητα από το αν θα δημιουργηθεί Exception ή όχι, το **JVM** θα αναλάβει να κλείσει το FileReader object αν αυτό παραμένει ανοιχτό. Απαραίτητη προϋπόθεση για να συμβεί το παραπάνω είναι η κλάση του αντικειμένου που θα δημιουργηθεί να υποστηρίζει το interface [[http://​docs.oracle.com/​javase/​7/​docs/​api/​java/​lang/​AutoCloseable.html|java.lang.Autoclosable]] ​ή ένα από ​τα sub-interfaces αυτού (π.χ. [[http://​docs.oracle.com/​javase/​7/​docs/​api/​java/​io/​Closeable.html|java.io.Closable]]).
  
 Στην ίδια λογική μπορούμε να έχουμε περισσότερες από μία δηλώσεις κώδικα μέσα στην παρένθεση του try block όπως παρακάτω Στην ίδια λογική μπορούμε να έχουμε περισσότερες από μία δηλώσεις κώδικα μέσα στην παρένθεση του try block όπως παρακάτω
Line 60: Line 59:
 </​code>​ </​code>​
  
-|Προηγούμενο:​ [[:​java:​exceptions_throwing | Δημιουργία και πυροδότηση εξαιρέσεων]] | Επόμενο:​ [[:java: |  ]]|+|Προηγούμενο:​ [[:​java:​exceptions_throwing | Δημιουργία και πυροδότηση εξαιρέσεων]] | [[ :toc | Περιεχόμενα ]] |  ​Επόμενο:​ [[:java:exception_categories ​Κατηγορίες Εξαιρέσεων ​]]|
  
java/exceptions_try_with_resources.1425886076.txt.gz · Last modified: 2016/02/26 11:15 (external edit)