Вопрос проверяет знание обработки ошибок в JavaScript.
Для перехвата ошибок используют:
try/catch — для синхронного кода.
window.onerror или addEventListener('error') — для глобальных ошибок.
Promise.catch() — для асинхронного кода (например, fetch).
try/catch (Синхронные ошибки)
try {
// Код, который может вызвать ошибку
const data = JSON.parse('невалидный JSON');
} catch (error) {
console.error('Ошибка:', error.message);
} Глобальный перехват (window.onerror)
window.onerror = function(message, url, line, col, error) {
console.log(`Ошибка: ${message} в ${url}:${line}:${col}`);
return true; // Отменяет стандартное сообщение об ошибке
}; Обработка асинхронных ошибок (unhandledrejection)
window.addEventListener('unhandledrejection', (event) => {
console.error('Необработанная ошибка в Promise:', event.reason);
});
fetch('несуществующий-url').catch(error => {
console.log('Ошибка fetch:', error);
});