ProgramJavaScriptAltJSElmElmガイドエラーハンドリング > Result

Result

Elmには様々なデータ構造(型)が用意されており、Maybe型の他にResult型というのが用意されています。

Result型の定義

  1
  2
  3
type Result error value
  = Ok value
  | Err error

この型のポイントは、問題が起こったときに問題が起こったということだけではなくさらなる情報を提供できるところにあります。
この情報はエラーを通知したりエラーに対処したりするのにとても役に立ちます。

Maybe型はエラーになったときNothingしか返さないけど、Result型はエラーになったとき細かく制御できる=エラーメッセージを見せることができる、という違いがあるんですね。

エラーに対処する

Result型はエラーに対処するのにも役に立ちます。

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
type Error
  = BadUrl String
  | Timeout
  | NetworkError
  | BadStatus Int
  | BadBody String
 
-- Ok "All happy ..." : Result Error String
-- Err Timeout        : Result Error String
-- Err NetworkError   : Result Error String

Resultのカスタム型

ここでElm本の説明を参照してみましょう。

 基礎からわかる Elm
鳥居 陽介
シーアンドアール研究所
2019-02-27
¥ 2,840



(p.91)

■Result
 Resultは失敗するかもしれない結果を表すデータ構造です。Maybeと似ていますが、こちらは失敗の原因を情報として持っています。
 Resultはカスタム型で次のように定義されています。

type Result err a = Err err | Ok a

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2019-11-23 (土) 16:50:18 (13d)