Overview
Overview of the parsing pipeline and the two error classes.
Turning Internet Object text into validated data happens in stages:
Tokenize — split the text into tokens (values, separators, structural characters).
Parse — assemble tokens into a document tree (header, sections, records, values).
Validate — check the data against the schema.
Load — produce the final in-memory values.
Errors fall into two classes, matching the stages that produce them:
Syntax error
tokenize / parse
unbalanced {, missing comma, unterminated string
Validation error
validate
wrong type, out of range, missing required field
The distinction matters because the two classes recover differently:
Syntax errors are bounded by structure — the parser skips to the next boundary (
~or---) and continues.Validation errors are bounded by the object — each record is validated on its own and may report zero, one, or many errors, without affecting other records.
Whichever class it belongs to, every error reports the same three things: a stable code, a human-readable message, and the position in the source. Only the code is part of this specification — messages may be reworded or translated — so tooling branches on the code.
In this section
Error Codes — how every code is named, and the closed vocabulary it draws from
Error Model — the catalogue of codes, by class
Parser Behavior & Recovery — how recovery works; processing options
Error Accumulation — collecting many errors and partial output
See Also
Last updated
Was this helpful?
