errors

Present

1-min readUpdated Sep 03, 2026main

Copied Raw Markdown!
Copied copy path!

Errors are visible, not fatalURL 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 rowsURL copied

bar block
no rows

A path outside the content rootURL copied

bar block
src escapes the content root

An unknown file typeURL copied

bar block
src must end in .csv, .json, .yaml, .yml

A file that is not thereURL copied

bar block
src not found: ../data/missing.json

A select path that does not existURL copied

bar block
select path not found: by_quarter

A broken Vega-Lite specURL copied

vega block
JSONDecodeError: Expecting property name enclosed in double quotes: line 1 column 2 (char 1)

Why this wayURL 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.