# `CCXT.Symbol.Error`
[🔗](https://github.com/ZenHive/ccxt_client/blob/main/lib/ccxt/symbol/error.ex#L1)

Error raised when symbol conversion fails.

Provides detailed context about what went wrong, including the symbol,
reason, exchange ID, and market type when available.

# `reason`

```elixir
@type reason() ::
  :invalid_format
  | :pattern_not_found
  | :unknown_quote_currency
  | :parse_failed
  | {:unsupported_prefix, String.t()}
```

# `t`

```elixir
@type t() :: %CCXT.Symbol.Error{
  __exception__: true,
  exchange_id: String.t() | nil,
  market_type: atom() | nil,
  message: String.t(),
  reason: reason(),
  symbol: String.t() | nil
}
```

# `invalid_format`

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

Creates an error for invalid symbol format.

# `new`

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

# `parse_failed`

```elixir
@spec parse_failed(String.t(), term()) :: t()
```

Creates an error for parse failures.

# `pattern_not_found`

```elixir
@spec pattern_not_found(String.t(), atom(), String.t() | nil) :: t()
```

Creates an error for missing pattern configuration.

# `unknown_quote_currency`

```elixir
@spec unknown_quote_currency(String.t(), String.t() | nil) :: t()
```

Creates an error for unknown quote currency.

# `unsupported_prefix`

```elixir
@spec unsupported_prefix(String.t(), String.t()) :: t()
```

Creates an error for unsupported prefix patterns.

---

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