Exception на всякий случайПлохая практика:
catch (Exception e)
Такой код скрывает реальные проблемы. Для приложения одинаково начинают выглядеть ошибки бизнес-логики,
NullPointerException, проблемы с памятью и другие сбои.Ловите только те исключения, которые действительно можете обработать:
catch (IOException e) { ... }
catch (JsonProcessingException e) { ... }
catch (DuplicateKeyException e) { ... }Тогда становится понятно:
что именно пошло не так;
какие ошибки ожидаемы;
какие нужно логировать;
какие должны прерывать выполнение.
И ещё одно правило:
catch (Throwable t)
Почти никогда не используйте. Так можно перехватить
OutOfMemoryError, StackOverflowError и другие критические ошибки, после которых приложение зачастую уже не способно нормально продолжать работу.Лови только то, что умеешь исправить. Остальное пусть поднимается выше по стеку вызовов.
👉 Java Portal
