Встречается на собеседованиях • сегодня

Получится ли отловить ошибку в функции внутри setTimeout через try-catch

Нет, ошибку внутри setTimeout нельзя отловить через try-catch, так как колбэк выполняется асинхронно, после завершения текущего стека вызовов. try-catch работает только для синхронного кода.

javascript
try {
  setTimeout(() => {
    throw new Error('Ошибка внутри таймаута');
  }, 1000);
} catch (e) {
  // Сюда управление не попадёт
  console.log('Ошибка поймана:', e);
}

Для обработки ошибок в асинхронных операциях используйте:

  • .catch() для промисов
  • Обработчики unhandledrejection и error на уровне window
  • Колбэки ошибок в Node.js (если используется)
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы