1
resposta

Try-with-resource

Nunca tinha visto o uso desse tipo de try. Tem algum outro contexto onde ele é indicado de ser utilizado, além desse relacionado a objetos AutoCloseable

1 resposta

Oi Nathalia, o try-with-resources surgiu por conta do AutoCloseable mesmo, além de tornar o código mais legível e fácil de escrever, ele faz o gerenciamento automático dos resources, sem a necessidade de incluir o "finally" apenas para fechar os recursos.

Com o try-with-resources também podemos abrir vários recursos na instrução separados por um ponto e vírgula. Por exemplo, podemos escrever o seguinte código.

public void sampleTryWithResource() {
    try(Connection dbCon = DriverManager.getConnection("url", "user", "password");
            BufferedReader br = new BufferedReader(new FileReader("C://readfile/input.txt"));) {
        // ...
    } catch (Exception e) {
        //...Exception Handling
    }
}

Quando vários recursos são abertos no try-with-resources, ele os fecha na ordem inversa para evitar qualquer problema de dependência.