New/strange Java "try()" syntax?

Posted by Ali on Stack Overflow See other posts from Stack Overflow or by Ali
Published on 2012-04-11T23:14:04Z Indexed on 2012/04/11 23:28 UTC
Read the original article Hit count: 254

Filed under:
|
|

While messing around with the custom formatting options in Eclipse, in one of the sample pieces of code, I say code as follows:

/**
 * 'try-with-resources'
 */
class Example {
    void foo() {
        try (FileReader reader1 = new FileReader("file1"); FileReader reader2 = new FileReader("file2")) {

        }
    }
}

I've never seen try used like this and I've been coding in Java for 9 years! Does any one know why you would do this? What is a possible use-case / benefit of doing this?

An other pieces of code I saw, I thought was a very useful shorthand so I'm sharing it here as well, it's pretty obvious what it does:

/**
 * 'multi-catch'
 */
class Example {
    void foo() {
        try {
        } catch (IllegalArgumentException | NullPointerException | ClassCastException e) {
            e.printStackTrace();
        }
    }
}

© Stack Overflow or respective owner

Related posts about java

Related posts about syntax