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

Можно ли в таймауте отловить ошибку через try-catch-finally

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

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

Для современных асинхронных операций лучше использовать async/await с Promise.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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