JavaScript · Junior · Запитання 35 з 75
Чому catch не впіймає помилку?
try {
fetch("/api").then(r => { throw new Error("fail"); });
} catch (e) {
console.log("впіймали");
}- ✓Правильна відповідь: Помилка виникає пізніше, асинхронно, коли
tryуже завершився - 2
try/catchузагалі не вміє перехоплювати об'єктиError - 3
fetchавтоматично придушує всі помилки всередині.then
Пояснення
try виконався синхронно й закінчився до відповіді сервера. Помилку в ланцюжку ловлять через .catch() або пишуть await fetch(...) усередині try в async-функції - тоді catch спрацює.