Что такое оператор throw в языках программирования?

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

Ответ

throw — это оператор для явной генерации (выброса) исключения (exception). Он прерывает нормальное выполнение программы и передаёт управление ближайшему подходящему блоку catch в стеке вызовов.

Назначение:

  • Сигнализация об ошибках и нештатных ситуациях.
  • Валидация входных данных.
  • Проброс исключений наверх по стеку вызовов для централизованной обработки.

Примеры в разных языках:

Java:

public void withdraw(double amount) throws InsufficientFundsException {
    if (amount > balance) {
        throw new InsufficientFundsException("Not enough balance");
    }
    balance -= amount;
}

JavaScript:

function divide(a, b) {
    if (b === 0) {
        throw new Error("Division by zero is not allowed.");
    }
    return a / b;
}

// Обработка
 try {
    divide(10, 0);
 } catch (error) {
    console.error(error.message); // "Division by zero is not allowed."
 }

Ключевой принцип: throw используется для создания исключения, а try...catch — для его обработки.