Проверяет понимание механизма обработки ошибок и влияния необработанных исключений на поток выполнения программы.
Когда в коде возникает необработанная ошибка, выполнение текущего блока немедленно прекращается, и ошибка начинает всплывать по стеку вызовов. Это означает, что все функции, которые были вызваны до момента ошибки, завершаются аварийно, пока не будет найден подходящий catch-блок или не будет достигнут глобальный уровень.
Ошибка распространяется вверх по стеку вызовов, начиная с места возникновения. Если ни один из try/catch блоков не перехватывает её, она достигает глобального контекста. В браузере это приводит к вызову события window.onerror, а в Node.js — к событию process.on('uncaughtException').
function riskyFunction() {
throw new Error('Что-то пошло не так');
}
try {
riskyFunction();
} catch (error) {
console.log('Ошибка перехвачена:', error.message);
}
// Выполнение продолжается
console.log('Код после try/catch');Если убрать try/catch, выполнение остановится на строке с throw, и последний console.log не выполнится.
Необработанные ошибки нарушают нормальный поток выполнения и могут привести к нестабильности приложения. Всегда используйте try/catch для критических участков кода и глобальные обработчики для логирования и корректного завершения работы.
Frontend developer
Ментор по Frontend
Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства
Записаться на консультацию