Классы ввода-вывода Java java.io.Reader
, java.io.Writer
, java.io.InputStream
, java.io.OutpuStream
и их различные подклассы имеют метод close ()
, который может генерировать исключение IOException
.
Есть ли консенсус относительно того, как правильно обрабатывать такие исключения?
Я часто видел рекомендации просто игнорировать их, но это кажется неправильным, и, по крайней мере, в случае ресурсов, открытых для записи, проблема при закрытии файл может означать, что незаброшенные данные не могут быть записаны / отправлены.
С другой стороны, при чтении ресурсов мне совершенно неясно, почему close ()
может вызвать ошибку и что с этим делать .
Так есть ли какие-нибудь стандартные рекомендации?
Связанный вопрос: Выдает ли close когда-либо исключение IOException? , но это больше о том, какие реализации действительно выбрасывают , а не о том, как обрабатывать исключения.