Exceptモナド
from HaskellのError Handling
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モナド?らしい
https://www.fpcomplete.com/blog/2016/11/exceptions-best-practices-haskell/
Exceptは避けるべき?
https://www.fpcomplete.com/blog/2016/11/exceptions-best-practices-haskell/
参考
Except モナドの使い方 : tnomuraのブログ