La risorsa viene chiusa prima della cattura o infine dei blocchi. Vedi questo tutorial.
Un'istruzione try-con-le risorse può avere pescato ed infine blocchi proprio come un normale istruzione try. In una dichiarazione try-with-resources, qualsiasi blocco catch o finally viene eseguito dopo che le risorse dichiarate sono state chiuse.
per valutare questo è un codice di esempio:
class ClosableDummy implements Closeable {
public void close() {
System.out.println("closing");
}
}
public class ClosableDemo {
public static void main(String[] args) {
try (ClosableDummy closableDummy = new ClosableDummy()) {
System.out.println("try exit");
throw new Exception();
} catch (Exception ex) {
System.out.println("catch");
} finally {
System.out.println("finally");
}
}
}
uscita:
try exit
closing
catch
finally
fonte
2014-06-09 21:09:00
Pazzo. Quindi Try-with-resources non è un buon sostituto per try-catch-finally quando la risorsa è necessaria per gestire il problema. – Gustavo
Le risorse non devono essere gestite nel blocco 'catch'. –
Il blocco catch può richiedere la risorsa per completare l'attività. – Gustavo