> Как использовать try-catch для обработки ошибок при парсинге JSON в JavaScript (JavaScript)

Уровень: senior · Роль: frontend · Категория: Технические вопросы

Компании: ITQ Group МКБ БАНК

Стек: JavaScript

> Пример ответа

При парсинге JSON в JavaScript метод JSON.parse() выбрасывает исключение SyntaxError, если строка не является валидным JSON. Для обработки этой ошибки используйте конструкцию try-catch:

JAVASCRIPT
try {
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);
}
}

Более продвинутый пример с функцией-обёрткой:

JAVASCRIPT
function 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-блоке, чтобы код не падал.

> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?

Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью