Mercury.Error (mercury_client v1.0.0)

Copy Markdown View Source

Classification helpers for Mercury exceptions — mirrors errors.As style checks from the reference Go SDK, adapted to pattern matching.

Examples

case Mercury.Accounts.get(client, id) do
  {:ok, account} ->
    account

  {:error, error} ->
    if Mercury.Error.rate_limit_error?(error) do
      :timer.sleep(1_000)
      Mercury.Accounts.get(client, id)
    else
      {:error, error}
    end
end

Summary

Functions

Returns true if error is a Mercury.AuthenticationError.

Returns true if error is a Mercury.ConflictError.

Returns true if error is a Mercury.NetworkError.

Returns true if error is a Mercury.NotFoundError.

Returns true if error is a Mercury.RateLimitError.

Returns true if error is a Mercury.ServerError.

Returns true if error is a Mercury.TimeoutError.

Returns true if error is a Mercury.ValidationError.

Functions

auth_error?(arg1)

@spec auth_error?(error :: term()) :: boolean()

Returns true if error is a Mercury.AuthenticationError.

conflict_error?(arg1)

@spec conflict_error?(error :: term()) :: boolean()

Returns true if error is a Mercury.ConflictError.

network_error?(arg1)

@spec network_error?(error :: term()) :: boolean()

Returns true if error is a Mercury.NetworkError.

not_found_error?(arg1)

@spec not_found_error?(error :: term()) :: boolean()

Returns true if error is a Mercury.NotFoundError.

rate_limit_error?(arg1)

@spec rate_limit_error?(error :: term()) :: boolean()

Returns true if error is a Mercury.RateLimitError.

server_error?(arg1)

@spec server_error?(error :: term()) :: boolean()

Returns true if error is a Mercury.ServerError.

timeout_error?(arg1)

@spec timeout_error?(error :: term()) :: boolean()

Returns true if error is a Mercury.TimeoutError.

validation_error?(arg1)

@spec validation_error?(error :: term()) :: boolean()

Returns true if error is a Mercury.ValidationError.