Шаблон
Код, который может бросить исключение, — в try. При ошибке управление → catch. Опционально finally выполнится в любом случае.
try {
} catch (error) {
} finally {
}
Важно
try/catch ловит синхронные throw в этом стеке.
- Ошибки внутри уже запланированного колбэка/
setTimeout этим catch не поймаются — нужен свой обработчик/Promise.
- Не глотайте всё молча: логируйте, классифицируйте, rethrow неизвестное.
Итог: try/catch — граница восстановления для синхронных исключений (+ finally для cleanup).