elixir try rescue
defmodule SomeModule do @doc """ iex> SomeModule.do_something() {:error, "%ArgumentError{message: \\"You provided a wrong argument\\"}"} """ def do_something() do raise ArgumentError, "You provided a wrong argument" rescue error -> {:error, inspect(error)} end @doc """ iex> SomeModule.try_something() {:error, "%ArgumentError{message: \\"You provided a wrong argument\\"}"} """ def try_something() do try do raise ArgumentError, "You provided a wrong argument" rescue error -> {:error, inspect(error)} end end end
Source: elixir-lang.org