Операция выполнена!
Закрыть
Хабы: Блог компании Rusprofile, JavaScript, TypeScript, Веб-разработка, Качество кода

Ситуация: пишешь код на JS, хочешь обработать исключение, пробрасываешь throw, ловишь его с помощью try-catch. Но добавим нюанс: пусть это нужно сделать для setTimeout. Эта функция использует окружения браузера – не JS-функция, асинхронная. 

Загвоздка: catch не сможет поймать ошибку.

Этот пример – одна из нескольких особенностей JS, из-за которых я считаю обработку исключений “из коробки” на этом языке неудобной. Но есть и хорошие новости – для JS существуют альтернативные способы работы с исключениями, с которыми дела обстоят получше; например, паттерн “контейнерный тип”.

Давайте разбираться.

Читать далее
Читайте также
СТАТЬ АВТОРОМ
НОВОСТИ

ПИШИТЕ

Техническая поддержка проекта ВсеТут

info@vsetut.pro