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