À proximité de la ressource tranquillement utilisation de try-with-resources

Est-il possible d'ignorer l'exception levée lorsqu'une ressource est fermée à l'aide d'un try-with-resources déclaration?

Exemple:

class MyResource implements AutoCloseable{
  @Override
  public void close() throws Exception {
    throw new Exception("Could not close");
  }  
  public void read() throws Exception{      
  }
}

//this method prints an exception "Could not close"
//I want to ignore it
public static void test(){
  try(MyResource r = new MyResource()){
    r.read();
  } catch (Exception e) {
    System.out.println("Exception: " + e.getMessage());
  }
}

Ou devrais-je continuer à se refermer dans un finally à la place?

public static void test2(){
  MyResource r = null;
  try {
     r.read();
  }
  finally{
    if(r!=null){
      try {
        r.close();
      } catch (Exception ignore) {
      }
    }
  }
}
InformationsquelleAutor dogbane | 2011-07-31