lib/money/input/exceptions/no_number_symbols_error.ex
defmodule Money.Input.NoNumberSymbolsError do
@moduledoc """
Raised when a locale's number-symbol data can't be loaded.
This is normally only seen when CLDR data is incomplete for an
exotic locale or when runtime locale download is disabled for a
locale that wasn't pre-compiled into the build.
"""
defexception [:locale, :number_system]
@impl true
def exception(bindings) when is_list(bindings) do
struct!(__MODULE__, bindings)
end
@impl true
def message(%__MODULE__{locale: locale, number_system: nil}) do
"No number symbols available for locale #{inspect(locale)}"
end
def message(%__MODULE__{locale: locale, number_system: ns}) do
"No number symbols available for locale #{inspect(locale)} " <>
"and number system #{inspect(ns)}"
end
end