Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Специализация

Python Backend Developer

Java Backend Developer

Node.js Backend Developer

Golang Backend Developer

React Frontend Developer

Посмотреть все

Выберите навыки

React

React

JavaScript

JavaScript

Git

Git

Redux

Redux

Webpack

Webpack

Посмотреть все

Сложность

1-3

4-6

7-8

9-10

Рейтинг вопросов

1

2

3

4

5

Подпишись на React Developer в телеграм

Вопросы React Frontend Developer


Как обрабатывать ошибки в JavaScript?

Как реализовать retry-логику при ошибках запроса?

Почему try/catch не ловит ошибки внутри setTimeout?

Где правильно устанавливать loading состояние — внутри try или снаружи?

Почему важно использовать try/catch при асинхронных запросах?

  • Рейтинг:

    4

  • Сложность:

    5

В JavaScript ошибки обрабатываются с помощью блока try...catch. В блоке try размещается код, который может вызвать ошибку, а в блоке catch — инструкции для обработки этой ошибки. Также можно использовать finally, чтобы выполнить код независимо от того, возникла ошибка или нет. Обработку ошибок можно расширить с помощью кастомных ошибок.

Подробнее
  • Рейтинг:

    4

  • Сложность:

    6

Retry-логика — это повтор запроса при временных ошибках (например, нестабильная сеть или 5xx). Обычно задают максимальное число попыток, задержку между ними и условия, при которых можно повторять. Хорошая практика — использовать exponential backoff и добавить jitter, чтобы много клиентов не “стреляли” одновременно. Важно различать ошибки: 4xx чаще не ретраят (кроме 429), а запросы с изменением данных повторяют только если это безопасно.

Подробнее
  • Рейтинг:

    4

  • Сложность:

    3

Конструкция try/catch работает синхронно и ловит ошибки только в текущем блоке выполнения. Функция, переданная в setTimeout, выполняется позже, в другом цикле событий, когда контекст try/catch уже завершён. Поэтому ошибка возникает вне зоны видимости блока catch. Для обработки таких ошибок нужно помещать try/catch внутрь самой асинхронной функции или использовать другие механизмы, например, обработчики событий 'unhandledrejection' для промисов.
Подробнее
  • Рейтинг:

    4

  • Сложность:

    3

Состояние загрузки (loading) следует устанавливать в true перед началом асинхронной операции, до блока try. В блоке finally или после try-catch его нужно сбросить в false. Это гарантирует, что loading будет активным во время выполнения запроса и корректно отключится даже при возникновении ошибки.
Подробнее
  • Рейтинг:

    5

  • Сложность:

    3

try/catch позволяет перехватывать и обрабатывать ошибки, возникающие при выполнении асинхронных операций, таких как запросы к серверу. Без него необработанные исключения могут привести к падению приложения или непредсказуемому поведению. Это ключевой механизм для создания стабильного и отказоустойчивого кода.
Подробнее