Time: 0:00
Test a custom input to verify an edge case (e.g. empty lists, negative numbers, duplicates).
This bug belongs to the type errors pattern
Totals that concatenate, sorts that put 10 before 9, comparisons that refuse to run.
What went wrong: JSON.parse() throws an unhandled SyntaxError exception when passed malformed or truncated JSON strings.
The fix: Wrap JSON.parse() in a try/catch block and return null on failure: try { return JSON.parse(rawToken); } catch { return null; }
Remember: Always wrap JSON.parse() in try/catch when parsing untrusted input strings.
The pattern behind it: type errors.
Paste this into any web page or blog post. Visitors fix the bug right there, in their browser.
<iframe src="https://trybughunt.com/embed/adb77a83-8398-42df-b4f3-3dd80c5e5f83" title="Debugging challenge: Malformed token string causes JSON parse to throw SyntaxError" width="100%" height="580" loading="lazy" style="border:1px solid #d4d4d8;border-radius:12px;max-width:760px"></iframe>
<p style="font-size:14px">Debugging challenge from <a href="https://trybughunt.com/challenges/adb77a83-8398-42df-b4f3-3dd80c5e5f83">TryBugHunt</a></p>