# `GeoGenius.CatalogError`
[🔗](https://github.com/agoodway/geo_genius/blob/main/lib/geo_genius/error.ex#L32)

Raised when a `GeoGenius.Catalog` call cannot be completed.

Every call that module makes raises this, its reads -- `release_manifest/2`,
`release_artifacts/2`, `published_release/2` -- included;
`GeoGenius.QueryError` covers the reading calls that go through
`GeoGenius.Store`.

Carries the SQL function that was called and the original driver error as
`:reason`, so a caller can match a constraint violation the operator caused
against a connection failure it cannot fix.

# `t`

```elixir
@type t() :: %GeoGenius.CatalogError{
  __exception__: true,
  function: String.t(),
  message: String.t(),
  reason: term()
}
```

---

*Consult [api-reference.md](api-reference.md) for complete listing*
