Packages

Makina is a DSL for writing PBT models for stateful systems.

Current section

Files

Jump to
makina lib makina error.ex
Raw

lib/makina/error.ex

defmodule Makina.Error do
@moduledoc false
defexception message: "makina error"
@spec throw_error(String.t()) :: :none
def throw_error(message) do
error = %__MODULE__{message: message}
raise error
end
@spec throw_error(String.t(), Macro.Env.t()) :: :none
def throw_error(message, env) do
error = %__MODULE__{message: message}
stacktrace = Macro.Env.stacktrace(env)
reraise error, stacktrace
end
@spec throw_warn(String.t()) :: :ok
def throw_warn(message) do
IO.warn(message, [])
end
@spec throw_warn(String.t(), Macro.Env.t()) :: :ok
def throw_warn(message, _env) do
IO.warn(message)
end
end