# `Latch.Error`

Errors returned by the public `Latch` and `Latch.Client` API.

Every public function that can fail returns `{:error, Latch.Error.t()}`.
Each error is an exception struct so callers can eitehr pattern match on
its fields or `raise/1` it directly.

# `t`

```elixir
@type t() ::
  Latch.Error.Discovery.t()
  | Latch.Error.HandleNotFound.t()
  | Latch.Error.IdentityMismatch.t()
  | Latch.Error.InvalidResponse.t()
  | Latch.Error.MissingDPoPNonce.t()
  | Latch.Error.NoSession.t()
  | Latch.Error.OAuth.t()
  | Latch.Error.RefreshFailed.t()
  | Latch.Error.SecurityViolation.t()
  | Latch.Error.Store.t()
  | Latch.Error.Transport.t()
  | Latch.Error.XRPC.t()
```

---

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