

javaのtry-with-resources文についての質問です。

下記のように`try()`のカッコ外にオブジェクトを宣言した場合はコンパイルエラーとなりますか？

[code]

    MyResource obj1;
    try (obj1 = new MyResource("obj1")) {
        // 処理
    } catch (SQLException e) {
       // 例外処理
    }
    
[/code]


CC BY-SA 4.0
2018-10-16T16:00:23.570
49361
2020-06-09T07:07:00.623
2018-10-16T16:29:12.317
23994
23690
question
java
try-with-resources文について


はい。コンパイルエラーになります。

[ドキュメント](https://docs.oracle.com/javase/jp/7/technotes/guides/language/try-
with-resources.html)にあるように、

> try-with-resources 文は、1 つ以上の **リソースを宣言する try 文です** 。

ただし、Javaの新しいバージョンでは[このページ](http://www.ne.jp/asahi/hishidama/home/tech/java/statement.html#try_with_resources_statement)にあるような書き方もできます。


CC BY-SA 4.0
2018-10-16T16:23:50.627
49363
2018-10-16T16:49:33.977
2018-10-16T16:49:33.977
21092
21092
49361
answer