Vous pouvez voir dans cet article que la clause finally est exécutée correctement lorsque vous revenez dans la clause try de Try-Catch-Then.
À propos du retour dans la clause try-catch-finally
Je doute ici. Try-with-Resources, qui est très similaire en Java, fermera-t-il correctement les ressources? Je l'ai vérifié.
https://github.com/takeo-asai/try-with-resources
public class Main {
    public static void main(String[] args) {
        System.out.println("Begin Main");
        tryWithResources();
        System.out.println("End Main");
    }
    private static void tryWithResources() {
        try (MockConnection connection = new MockConnection();) {
            System.out.println("tryWithResources");
            return;
        }
    }
}
public class MockConnection implements AutoCloseable {
    public void close() {
        System.out.println("MockConnection is closed.");
    }
}
Begin Main
tryWithResources
MockConnection is closed.
End Main
En conclusion, il se fermera correctement, alors utilisons-le dur.
Recommended Posts