Exceptモナド
Exceptモナド
import Control.Monad.Except
例外を発生させプログラムをショートカットさせることができる
例外を発生する可能性があるプログラムを扱うためのモナド
型
Except e a
eがエラーを示す型
Stringならエラーメッセージ
コードの位置やタイムスタンプを示す型にもできる?
aは処理するデータの型
throwError :: MonadError e m => e -> m a
例外を引数に取り、モナドを返す
catchError :: MonadError e m => m a -> (e -> m a) -> m a
第一引数はEitherモナド?らしい
Exceptは避けるべき?
参考