Как правильно обрабатывать IOException из close ()

Классы ввода-вывода Java java.io.Reader , java.io.Writer , java.io.InputStream , java.io.OutpuStream и их различные подклассы имеют метод close () , который может генерировать исключение IOException .

Есть ли консенсус относительно того, как правильно обрабатывать такие исключения?

Я часто видел рекомендации просто игнорировать их, но это кажется неправильным, и, по крайней мере, в случае ресурсов, открытых для записи, проблема при закрытии файл может означать, что незаброшенные данные не могут быть записаны / отправлены.

С другой стороны, при чтении ресурсов мне совершенно неясно, почему close () может вызвать ошибку и что с этим делать .

Так есть ли какие-нибудь стандартные рекомендации?

Связанный вопрос: Выдает ли close когда-либо исключение IOException? , но это больше о том, какие реализации действительно выбрасывают , а не о том, как обрабатывать исключения.

19
задан Community 23 May 2017 в 12:10
поделиться