Skip to content

Latest commit

 

History

History
28 lines (20 loc) · 714 Bytes

12.4.md

File metadata and controls

28 lines (20 loc) · 714 Bytes

Elixirの例外は、起こることのないはずのことが対象 例:

  • データベースが落ちた
  • ネームサーバーからレスポンスがない
  • 決まった名前のファイルが開けない

対象外:

  • ユーザーが指定した名前のファイルが開けない 名前をタイプミスする場合がある

Elixirの設計思想 エラーは外部の監視プロセスに伝播させるべき => 例外のcatchはめったに使うべきではない

cf. OTPスーパーバイザ

> raise "Giving up"
** (RuntimeError) Giving up

> raise RuntimeError
** (RuntimeError) runtime error

> raise RuntimeError, message: "override message"
** (RuntimeError) override message