Исключение является «крупнейшим» тип Exception, что нужно разумно поймать; поскольку он охватывает все, что не является Error.
Но слово предупреждения: в зависимости от вашего конкретного контекста, ловли Исключение все еще может быть плохой практикой. Делать это, как правило, указание на одну из двух вещей:
- Вы понятия не имеете, что ваш код делает
- Вашего кода является настолько сложным, что вы действительно не можете знать, что может выйти из него
И для обоих вариантов; это то, чего нужно избегать!
Другими словами: ловить Исключение - это то, что вы обычно делаете только на очень высоком уровне - более низкие уровни в вашем приложении должны точно знать, какие исключения выходят из нижних уровней; и только поймать их. Если вообще, вы действительно хотите только один улов (на «далеко за пределами») для Исключение. Потому что: единственное, что вы можете сделать в блоке catch там - некоторое ведение журнала и сообщение об ошибке для пользователя.
Да. Или вы можете поймать Throwable, но это нецелесообразно. – Kon