Специализация
Python Backend Developer
Java Backend Developer
Node.js Backend Developer
Golang Backend Developer
React Frontend Developer
Выберите навыки
React
JavaScript
Git
Redux
Webpack
Сложность
1-3
4-6
7-8
9-10
Рейтинг вопросов
1
2
3
4
5
Подпишись на React 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 делает асинхронный код:
Читаемым (похож на синхронный).
Удобным для отладки (стек вызовов не «разрывается»).
Лёгким в обработке ошибок (через try/catch).
В каком порядке выполняются then, catch и finally у Promise
then вызывается при успешном выполнении Promise, catch — при ошибке, а finally — всегда, независимо от результата. finally выполняется после then или catch, но не меняет значение, если сам не выбрасывает ошибку. Все эти колбэки выполняются как микротаски. Порядок строго следует цепочке.
Можно ли выбросить ошибку внутри then и как она будет обработана
Сколько catch реально нужно в цепочке Promise
При каких условиях выполняется catch в Promise?
Рейтинг:
5
Сложность:
7
Да, внутри then можно выбросить ошибку с помощью throw. Такая ошибка автоматически превращает Promise в rejected. Она будет поймана ближайшим catch ниже по цепочке. По сути, throw внутри then эквивалентен return Promise.reject(error).
Рейтинг:
4
Сложность:
7
Технически достаточно одного catch в конце цепочки. Он перехватит любую ошибку, возникшую выше. Дополнительные catch нужны только тогда, когда ошибку нужно обработать локально и продолжить выполнение цепочки. Лишние catch без необходимости усложняют код и ухудшают читаемость.
Рейтинг:
4
Сложность:
3
Рейтинг:
4
Сложность:
5
Рейтинг:
3
Сложность:
5
Рейтинг:
3
Сложность:
6
Рейтинг:
2
Сложность:
6
Рейтинг:
5
Сложность:
8