Я всегда реализую try...catch(Throwable)
(Throwable действительно является ошибкой, и ваше приложение не должно выполнять никаких дальнейших операций после того, как оно получит одну из них) в ОДНОЙ точке моего кода, когда крайне важно знать, что произошло это может быть зарегистрировано. Обычно это метод main
.
У меня также есть попытка ... catch (Exception) в классе runnable или в классе, который обрабатывает, например, одну запись, которая может обрабатываться независимо от других. В этом случае приложение должно двигаться дальше, даже если часть его обработки завершится неудачно - не имеет значения, знаю ли я, какое исключение будет выдано или нет - я ловлю исключение, регистрирую его, я отменяю эту запись обработки, и я иду дальше.
Эмпирическое правило заключается в том, что вы должны поймать исключение, если вы собираетесь что-то с этим сделать (либо прекратить обработку чего-либо, запустить альтернативную подпрограмму или двигаться дальше, если вы знаете, что делаете) , если ты не собираешься что-то с этим делать, не улавливай это.
И не используйте создатель IDE try...catch
, чтобы скрыть свое исключение, вместо этого позвольте ему добавить исключения в сигнатуру метода.