errors
1-min readUpdated Sep 03, 2026
Copied Raw Markdown!
Copied copy path!
Errors are visible, not fatal URL copied
A malformed block renders a card that names the problem. A bad chart never takes the page down, and it never fails silently either.
No rows URL copied
no rows
A path outside the content root URL copied
src escapes the content root
An unknown file type URL copied
src must end in .csv, .json, .yaml, .yml
A file that is not there URL copied
src not found: ../data/missing.json
A select path that does not exist URL copied
select path not found: by_quarter
A broken Vega-Lite spec URL copied
JSONDecodeError: Expecting property name enclosed in double quotes: line 1 column 2 (char 1)
Why this way URL copied
Three options exist for a bad block: raise, render nothing, or render the error.
Raising takes down a whole page for one typo. Rendering nothing is worse — the author ships a page with a hole in it and never learns. Rendering the error keeps the page readable and puts the message where the person who can fix it will see it.
The same rule holds for data: a src file that has moved shows a missing-file card, so the page tells you the chart is stale rather than quietly drawing an empty bar.