Code Lab е в разработка. Постепенно добавяме нови уроци и подобрения. Прогресът може да бъде изтрит.
Зареждане…
Code Lab е в разработка. Постепенно добавяме нови уроци и подобрения. Прогресът може да бъде изтрит.
Зареждане…
Code Lab е в разработка. Постепенно добавяме нови уроци и подобрения. Прогресът може да бъде изтрит.
JAVASCRIPT STORAGE / CHAPTER 06 / Учене / LESSON 04
Теория. JSON.parse хвърля SyntaxError при невалиден текст — липсваща кавичка, висяща запетая, отрязан край. Ако не го хванеш, скриптът спира и страницата остава наполовина.
Решението е try/catch около parse:
let data = null; try { data = JSON.parse(text); } catch (error) { status.textContent = "bad-json"; }
Грешката е очакван случай, а не изключение за паника: данните идват отвън (storage, файл, мрежа) и могат да са повредени. Покажи ясно състояние на потребителя — не мълчи и не показвай полупрочетени данни.
Малка функция помага: parseOrNull(text) връща данни или null. После проверяваш null.
Честа грешка: try/catch около повече код, отколкото трябва; празен catch без съобщение; да сложиш data в DOM преди да е ясно, че parse е успял.
<pre id="raw-a">{"title":"Rent","amount":500}</pre><pre id="raw-b">{"title":"Rent","amount":</pre><p id="status-a"></p><p id="status-b"></p><p id="shown"></p>Повреден текст е очакван случай — улови SyntaxError и покажи ясно състояние.
(празно)Натисни Run — HTML се зарежда в sandbox iframe; Stop маха iframe-а (спира и безкраен цикъл).
›