# `CloakedReq.Error`
[🔗](https://github.com/rubas/cloaked_req/blob/v0.7.0/lib/cloaked_req/error.ex#L1)

Represents explicit error information returned by `CloakedReq`.

# `t`

```elixir
@type t() :: %CloakedReq.Error{details: map(), message: String.t(), type: type()}
```

# `type`

```elixir
@type type() :: :invalid_request | :transport_error | :nif_panic
```

# `format`

```elixir
@spec format(t()) :: String.t()
```

Formats an error into a user-facing string.

## Examples

    iex> CloakedReq.Error.new(:invalid_request, "missing url") |> CloakedReq.Error.format()
    "invalid_request: missing url"

# `new`

```elixir
@spec new(type(), String.t(), map()) :: t()
```

Builds a structured error value.

## Examples

    iex> err = CloakedReq.Error.new(:invalid_request, "missing url")
    iex> err.type
    :invalid_request

---

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