Ключом к этому вопросу является следующая строка:
// recover
Чтобы выздороветь, нужно знать, что и как восстанавливать. И это при условии, что можно восстановить, что не так часто.
Вы должны использовать только часть catch
в try/catch/finally
, чтобы проглотить исключение, когда вы знаете, как обрабатывать исключение, когда вы знаете, как его восстановить, и когда вы уверены, что можете сделать это, не выходя из приложение в несогласованном или недействительном состоянии.
Если вы можете сделать это для всех возможных исключений во всех вызовах методов в вашем приложении, тогда идите вперёд, в противном случае вам может понадобиться переосмыслить ваш приоритет № 1 (иногда неудачный быстрый вариант лучше, чем попытка сохранить приложение жив, когда что-то пошло не так, а потом отладить сбой гораздо труднее).