Por que a declaração é requerida no try-with-resource de Java
O try-with-resources do Java7 é ótimo e tudo, mas não consigo entender por que é necessário incluir a declaração do recurso notry
declaração. Meu intestino diz que o seguinte deve ser possível:
CloseableResource thing;
try (thing = methodThatCreatesAThingAndDoesSomeSideEffect()) {
// do some interesting things
}
thing.collectSomeStats();
Infelizmente, isso resulta em um erro de sintaxe (esperando enigmaticamente;
). Mover a definição / declaração de tipo para otry
Obras de instrução, que naturalmente move coisa para o escopo correspondente. Eu posso descobrir como contornar isso quando eu quero mais do meuAutoClosable
do que ficar fechado, estou interessado emporque o compilador exige isso assim.