この記事ではElixirにおけるエラーハンドリングについて解説していきます
公式サイトElixir Schoolの内容を踏襲しつつ補足事項を入れる形となります
エラーハンドリング
最もシンプルな形でエラーを発生させるならraise/1
を使います
iex> raise "Oh no!"
** (RuntimeError) Oh no!
エラーの種類やメッセージを明記したい場合はraise/2
を使います
iex> raise ArgumentError, message: "the argument value is invalid"
** (ArgumentError) the argument value is invalid
またエラーを自分で設定する際は宣言を行い、利用する形になります
defmodule MyError do
defexception message: "This is my error"
end
raise MyError
** (MyError) This is my error
参考サイト