with try resource close catch java try-catch parentheses

resource - try with parentheses java



¿Qué es Round paréntesis/paréntesis() en try catch en Java (1)

Es un intento con la sintaxis de recursos que es nueva en Java 1.7. Se utiliza para declarar todos los recursos que se pueden cerrar. Aquí está el enlace a la documentación oficial. https://docs.oracle.com/javase/tutorial/essential/exceptions/tryResourceClose.html

static String readFirstLineFromFile(String path) throws IOException { try (BufferedReader br = new BufferedReader(new FileReader(path))) { return br.readLine(); } }

En este ejemplo, el recurso declarado en la declaración try-with-resources es un BufferedReader. La declaración de declaración aparece entre paréntesis inmediatamente después de la palabra clave try. La clase BufferedReader, en Java SE 7 y posterior, implementa la interfaz java.lang.AutoCloseable. Debido a que la instancia de BufferedReader se declara en una sentencia try-with-resource, se cerrará independientemente de si la sentencia de prueba se completa normalmente o de manera abrupta (como resultado del método BufferedReader.readLine emitiendo una excepción IOException).

Según mi conocimiento, utilizamos la try catch siguiente manera:

try { //Some code that may generate exception } catch(Exception ex) { } //handle exception finally { //close any open resources etc. }

Pero en un código que encontré siguiendo

try( ByteArrayOutputStream byteArrayStreamResponse = new ByteArrayOutputStream(); HSLFSlideShow pptSlideShow = new HSLFSlideShow( new HSLFSlideShowImpl( Thread.currentThread().getContextClassLoader() .getResourceAsStream(Constants.PPT_TEMPLATE_FILE_NAME) )); ){ } catch (Exception ex) { //handel exception } finally { //close any open resource }

No puedo entender por qué este paréntesis () justo después de intentarlo.

¿Para qué sirve? ¿Es nuevo en Java 1.7? ¿Qué tipo de sintaxis puedo escribir allí?

Por favor también me remiten algunos documentos API.