Ответ
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 — для его обработки.