What is Round brackets / parentheses () in try catch in Java
<p>As per as my knowledge we use <code>try catch</code> as follows:</p>

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

<p>But in a code I found following</p>

<pre><code>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
}
</code></pre>

<p>I am not able to understand why this parentheses <code>()</code> just after try. </p>

<p>What is the usage of it? Is it new in Java 1.7? What kind of syntax I can write there?</p>

<p>Please also refer me some API documents.</p>