Сообщество IT-специалистов
Ответы на любые вопросы об IT
Профессиональное развитие в IT
Удаленная работа для IT-специалистов
Как было сказано в главе, здесь присутствует "скрытый try..catch" вокруг кода функции. Поэтому обрабатываются все синхронные ошибки.
Ошибку, которая произойдёт в коде, запланированном «на будущее», например в setTimeout, try..catch не поймает...
На момент запуска функции, назначенной через setTimeout, этот код уже завершится, интерпретатор выйдет из блока try..catch. Чтобы поймать ошибку внутри функции из setTimeout, и try..catch должен быть в той же функции.