Skip to content

Errors โ€‹

Parser โ€‹

zig
ParserError = Allocator.Error || error{ NoLanguage, Aborted }
  • NoLanguage โ€” parse* called before setLanguage.
  • Aborted โ€” reserved for cancelled parses.
  • OutOfMemory โ€” propagate; all partial state is cleaned up.

Syntax errors never appear here โ€” they become tree nodes (see below).

Language โ€‹

zig
Language.Error = error{ IncompatibleAbiVersion, InvalidSymbol }
  • IncompatibleAbiVersion โ€” tables target an ABI outside 13โ€“15.

Query โ€‹

zig
QueryError = Allocator.Error || QueryParseError || error{ InvalidLanguage }
QueryParseError = error{ OutOfMemory, UnexpectedEof, UnexpectedToken, InvalidSyntax, InvalidPredicate }
  • InvalidLanguage โ€” compileQuery without a language set.
  • The parse errors pinpoint malformed query source; typos in #predicate? names are InvalidPredicate.

Tree-level error inspection โ€‹

zig
tree.hasError() / node.hasError() / node.isError() / node.isMissing()

Error Recovery, Troubleshooting

Released under the MIT License.