Асинхронный try, catch в JS?

Почему catch не ловит ошибку, если он должен ждать, пока не выполнится try. Как поймать асинхронную ошибку??
try {
	setTimeout(() => {
		throw new Error("Whoops!");
	}, 1000);
} catch (err) {
	console.log('Ошибка' + err);
}
  • Вопрос задан
  • 583 просмотра
Решения вопроса 2
@fixeri
setTimeout(() => {
		  	try {
				throw new Error("Whoops!");
		  	} catch (err) {
			  console.log('Ошибка' + err);
			}
		  }, 1000);
Ответ написан
Комментировать
bingo347
@bingo347 Куратор тега JavaScript
Crazy on performance...
Почему catch не ловит ошибку, если он должен ждать, пока не выполнится try
Потому что try закончит выполнение до throw
Как поймать асинхронную ошибку??
Гуглите: js Promise
Гуглите: js async/await
В качестве факультатива можно погуглить:
Почему try/catch зло
Монада Result/Either
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
2chevskii
@2chevskii
Если бы каждый мог в поиск, тостер бы вымер.
Обернуть таймаут в промис и обязательно ожидать (await) его.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы