Что такое исключение (Exception) в программировании?

«Что такое исключение (Exception) в программировании?» — вопрос из категории Основы программирования, который задают на 10% собеседований QA Тестировщик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

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

Цель: предоставить механизм для отделения основного кода от кода обработки ошибок, что делает программу более надежной и читаемой.

Пример обработки на Java:

try {
    int result = 10 / 0; // Вызовет ArithmeticException
} catch (ArithmeticException e) {
    System.out.println("Ошибка: деление на ноль!");
} finally {
    System.out.println("Этот блок выполнится всегда.");
}

Основные типы исключений в Java:

  1. Checked Exceptions (Проверяемые): Компилятор требует их обработки (объявление в throws или блок catch). Пример: IOException.
  2. Unchecked Exceptions (Непроверяемые/Runtime): Наследники RuntimeException. Компилятор не проверяет их обработку. Примеры: NullPointerException, ArithmeticException.
  3. Errors: Критические системные ошибки, которые обычно не обрабатываются (например, OutOfMemoryError).