Теперь у нас есть синтаксический сахар с именем try-with-resources
, начиная с JDK 7, поэтому, если вы работаете с ресурсами или можете объединить свой класс с ресурсами, реализующий AutoCloseable
как
public class MyResource implements AutoCloseable {
@Override
public void close() throws Exception {
System.out.println("Closed MyResource");
}
}
тогда вы освободитесь от такого бремени.
Кстати, если вы попытаетесь, как упомянуто @sarumont, просто позволить всплыть исключению, вы можете потерять оригинальное исключение (исключение в catch будет скрывать исходное исключение из блока try), что довольно не рекомендуется , так как вы используете исключения для устранения неполадок, в то время как неправильные исключения будут только сбивать с толку.