typestar

try-with-resources en Java

Limpieza determinista: lo que el try abrió, lo cierra.

import java.io.BufferedReader;
import java.io.StringReader;
import java.io.StringWriter;

// try-with-resources cierra lo que abrió, con éxito o con fallo
try (var reader = new BufferedReader(new StringReader("one\ntwo"))) {
    System.out.println(reader.readLine());
    System.out.println(reader.readLine());
}

// varios recursos se cierran en orden inverso al de apertura
try (var a = new StringWriter(); var b = new StringWriter()) {
    a.write("closed in");
    b.write("reverse order");
    System.out.println(a + " " + b);
}

Cómo funciona

  1. Los recursos declarados en los paréntesis se cierran en la llave.
  2. Con éxito o con excepción, el cierre ocurre igual.
  3. Varios recursos se cierran en orden inverso al de apertura.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
16
Caracteres a escribir
513
Tokens
110
Ritmo de tres estrellas
90 tpm

Al ritmo de tres estrellas de 90 tokens por minuto, este intento toma unos 73 segundos.

Escribe este fragmento

Paso 3 de 3 en Errores y archivos; paso 27 de 29 en Fundamentos del lenguaje.

← Anterior Siguiente →