Arcadic.Error exception (Arcadic v0.1.0)

Copy Markdown View Source

A server-returned ArcadeDB error, normalized to a typed reason.

detail (statement-shape text — value-free under the params-only rule) is a struct field for debugging, but is QUARANTINED: it appears in neither Exception.message/1 nor inspect/1 (AGENTS.md Critical Rule 3). Reach it only via explicit error.detail.

Summary

Functions

Build an Arcadic.Error from an HTTP status and a decoded ArcadeDB error body.

Types

t()

@type t() :: %Arcadic.Error{
  __exception__: true,
  detail: String.t() | nil,
  exception: String.t() | nil,
  http_status: pos_integer() | nil,
  message: String.t() | nil,
  reason: atom()
}

Functions

from_response(status, body)

@spec from_response(pos_integer(), map()) :: t()

Build an Arcadic.Error from an HTTP status and a decoded ArcadeDB error body.