> Как использовать try-catch для обработки ошибок при парсинге JSON в JavaScript (JavaScript)
Уровень: senior · Роль: frontend · Категория: Технические вопросы
Компании: ITQ Group МКБ БАНК
Стек: JavaScript
> Пример ответа
При парсинге JSON в JavaScript метод JSON.parse() выбрасывает исключение SyntaxError, если строка не является валидным JSON. Для обработки этой ошибки используйте конструкцию try-catch:
JAVASCRIPTtry {const jsonString = '{"name": "Иван", "age": 30}';const data = JSON.parse(jsonString);console.log(data.name); // "Иван"} catch (error) {if (error instanceof SyntaxError) {console.error('Некорректный JSON:', error.message);// Можно вернуть значение по умолчанию или показать пользователю сообщениеconst fallbackData = { name: 'Гость', age: 0 };console.log('Используем данные по умолчанию:', fallbackData);} else {// Обработка других неожиданных ошибокconsole.error('Неизвестная ошибка:', error);}}
Более продвинутый пример с функцией-обёрткой:
JAVASCRIPTfunction safeJsonParse(str, fallback = null) {try {return JSON.parse(str);} catch (error) {console.warn(`Ошибка парсинга JSON: ${error.message}`);return fallback;}}// Использованиеconst result = safeJsonParse('{"valid": true}'); // { valid: true }const badResult = safeJsonParse('не json', {}); // {} (значение по умолчанию)
Ключевые моменты:
- Всегда оборачивайте
JSON.parse()вtry-catch, если источник данных ненадёжный (пользовательский ввод, API, файлы). - Проверяйте тип ошибки через
instanceofдля точной диагностики. - Предусмотрите значение по умолчанию в
catch-блоке, чтобы код не падал.
> Похожие задачи по frontend
Как сборщик мусора находит неиспользуемые объекты в JavaScript
Уровень: middleКатегория: Технические вопросы
Компания: ООО Снэп АйТи
Стек: JavaScript
Что такое слабая ссылка в WeakSet и WeakMap в JavaScript
Уровень: juniorКатегория: Технические вопросы
Компания: ООО Снэп АйТи
Стек: JavaScript
Как реализовать проверку кратности с остатком от деления в JavaScript
Уровень: middleКатегория: Технические вопросы
Компания: ITQ Group МКБ БАНК
Стек: JavaScript
Как работает HttpOnly cookie и почему к нему нельзя достучаться с JavaScript
Уровень: seniorКатегория: Технические вопросы
Компания: ITQ Group МКБ БАНК
Стек: JavaScript
> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?
Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью