Стоит ли использовать общий Exception для ошибок

«Стоит ли использовать общий Exception для ошибок» — вопрос из категории Java, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Использование общего Exception для обработки ошибок — плохая практика. Вместо этого следует использовать конкретные исключения (IOException, NullPointerException и т.д.), чтобы точно понимать причину ошибки и обрабатывать её корректно.

Проблемы общего Exception:

  • Скрывает реальные причины ошибок.
  • Усложняет отладку.
  • Может привести к непредсказуемому поведению.

Лучший подход:

try {
    // Код, который может выбросить исключение
} catch (e: IOException) {
    // Обработка ошибки ввода-вывода
} catch (e: NullPointerException) {
    // Обработка NPE
} catch (e: Exception) {
    // Общий обработчик (использовать только если действительно необходимо)
}

Если нужно создать кастомные ошибки, лучше наследоваться от RuntimeException или других конкретных исключений.