Логотип 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?

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

Подробнее

Использовал ли didCatch в React?

componentDidCatch — это метод класса React для перехвата ошибок в дочерних компонентах. Он используется в Error Boundaries (границах ошибок), чтобы показать запасной UI вместо падения всего приложения.

Подробнее

Как обработать ошибку в промисах без catch, используя только then?

Второй аргумент then — это аналог catch:

promise.then(
  result => console.log(result),
  error => console.error(error) // Обработка ошибки
);
Подробнее

Почему async/await вместо Promises?

async/await делает асинхронный код:

  1. Читаемым (похож на синхронный).

  2. Удобным для отладки (стек вызовов не «разрывается»).

  3. Лёгким в обработке ошибок (через try/catch).

Подробнее

В каком порядке выполняются then, catch и finally у Promise

then вызывается при успешном выполнении Promise, catch — при ошибке, а finally — всегда, независимо от результата. finally выполняется после then или catch, но не меняет значение, если сам не выбрасывает ошибку. Все эти колбэки выполняются как микротаски. Порядок строго следует цепочке.

Подробнее

Можно ли выбросить ошибку внутри then и как она будет обработана

Сколько catch реально нужно в цепочке Promise

При каких условиях выполняется catch в Promise?

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

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

  • Рейтинг:

    5

  • Сложность:

    7

Да, внутри then можно выбросить ошибку с помощью throw. Такая ошибка автоматически превращает Promise в rejected. Она будет поймана ближайшим catch ниже по цепочке. По сути, throw внутри then эквивалентен return Promise.reject(error).

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

    4

  • Сложность:

    7

Технически достаточно одного catch в конце цепочки. Он перехватит любую ошибку, возникшую выше. Дополнительные catch нужны только тогда, когда ошибку нужно обработать локально и продолжить выполнение цепочки. Лишние catch без необходимости усложняют код и ухудшают читаемость.

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

    4

  • Сложность:

    3

Метод catch в Promise выполняется, когда промис переходит в состояние rejected (отклонён). Это происходит, если внутри промиса вызывается reject() или возникает необработанная ошибка (exception). catch также перехватывает ошибки, выброшенные в цепочке then перед ним. Если промис завершается успешно (resolve), блок catch пропускается, и выполнение продолжается в следующем then.
Подробнее
  • Рейтинг:

    4

  • Сложность:

    3

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

    5

  • Сложность:

    3

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

    4

  • Сложность:

    5

  • Рейтинг:

    3

  • Сложность:

    5

  • Рейтинг:

    3

  • Сложность:

    6

  • Рейтинг:

    2

  • Сложность:

    6

  • Рейтинг:

    5

  • Сложность:

    8