Selbst wenn Sie in Java Try-with-Resources in der try-Klausel zurückkehren, wird diese ordnungsgemäß geschlossen. Kehren wir also ohne Bedenken zurück

Try-Catch-Endlich ist in Ordnung

Sie können diesem Artikel entnehmen, dass die finally-Klausel ordnungsgemäß ausgeführt wird, wenn Sie in die try-Klausel von Try-Catch-finally zurückkehren.

Informationen zur Rückgabe in der try-catch-finally-Klausel

Ich habe es tatsächlich mit Try-with-Resources überprüft

Ich bezweifle hier. Wird Try-with-Resources, das in Java sehr ähnlich ist, Ressourcen ordnungsgemäß schließen? Ich habe es tatsächlich überprüft.

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

Abschließend wird es richtig geschlossen, also lasst es uns hart benutzen.

Recommended Posts

Selbst wenn Sie in Java Try-with-Resources in der try-Klausel zurückkehren, wird diese ordnungsgemäß geschlossen. Kehren wir also ohne Bedenken zurück
Ich bin auf die Java-Version in Android Studio gestoßen, daher werde ich sie zusammenfassen
Seien Sie vorsichtig, wenn Sie SHIFT-JIS in Java finden
Die in JDK 14 veröffentlichte Vorschau der Datensätze ist nett, also versuchen wir es mit JShell