Исключение, выходящее из close () в try-with-resource

Я читал о ресурсе try-with-resource в JDK7, и пока я думал об обновлении приложения для работы с JDK7, я столкнулся с этой проблемой ...

При использовании BufferedReader, например, запись выдает IOException, а закрытие выдает IOException .. в блоке catch меня интересует IOException, генерируемое записью .. но я бы не сталне очень заботится о том, кто был брошен близкими ..

Та же проблема с соединениями с базой данных .. и любым другим ресурсом ..

В качестве примера ямы создали автоматически закрываемый ресурс:

public class AutoCloseableExample implements AutoCloseable {

    public AutoCloseableExample() throws IOException{
        throw new IOException();
    }

    @Override
    public void close() throws IOException {
        throw new IOException("An Exception During Close");
    }

}

Теперь при его использовании:

public class AutoCloseTest {

    public static void main(String[] args) throws Exception {
        try (AutoCloseableExample example = new AutoCloseableExample()) {
            System.out.println(example);

            throw new IOException("An Exception During Read");
        } catch (Exception x) {
            System.out.println(x.getMessage());
        } 
    }

}

Как я могу различить такие исключения, не создавая оболочки для таких классов, как BufferedReader?

В большинстве случаев я помещал ресурс в try / catch внутри блока finally, не заботясь о его обработке.

Ответы на вопрос(2)

Ваш ответ на вопрос