capture d'élixir
defmodule SomeModule do
@doc """
iex> SomeModule.do_something()
{:error, "error: %ArgumentError{message: \\"You provided a wrong argument\\"}"}
"""
def do_something() do
raise ArgumentError, "You provided a wrong argument"
catch
kind, error -> {:error, "#{kind}: #{inspect(error)}"}
end
@doc """
iex> SomeModule.try_something()
{:error, "error: %ArgumentError{message: \\"You provided a wrong argument\\"}"}
"""
def try_something() do
try do
raise ArgumentError, "You provided a wrong argument"
catch
kind, error -> {:error, "#{kind}: #{inspect(error)}"}
end
end
end
Uncommon Nightingale