Errors

Stub

Final content will list each typed exception, the most common messages you'll see from it, and a one-line fix for each.

Planned coverage:

  • RegistryError — catalog config problems: missing path, mixed Norder, bad YAML, missing ra_col/dec_col.
  • ParseError — SQL the parser can't understand.
  • ValidationError — the query parsed but isn't a shape acid can run. Common cases:
    • XMATCH(...) AND ... in ON — split the conjunction; put non-XMATCH predicates in WHERE.
    • radius_arcsec exceeds the right catalog's neighbor_margin_arcsec — shrink the radius or build a bigger margin cache.
    • MEDIAN, MODE, STRING_AGG, window functions — not supported; aggregate it yourself in Polars / pandas after r.to_polars() / r.df().
    • IN_MOC(...) inside OR or in JOIN ON — restructure into conjunctive WHERE.
  • ExecutionError — a per-partition execution failed (corrupt parquet, OOM, disk-full). The first failure aborts the whole job.
  • SessionClosedError — you called a method on a Session after s.close() (or after the with block exited).

All of these inherit from acid.AcidError, so:

try:
    r = acid.sql(...)
except acid.AcidError as e:
    print("acid said:", e)