Haskell/Parsec で ParseError を発生させる
質問
エラーを発生させるための推奨される方法は何ですか (ParseError
)パーセクで?チェックを実行するパーサー内にコードを取得しました。チェックが失敗した場合は、 ParseError
返される必要があります(すなわち、 Left ParseError
走っているとき parse
).
解決
使用できます Text.ParserCombinators.Parsec.Prim.unexpected
そして Control.Monad.fail
このために。どちらもかかります String
エラー メッセージを示す引数であり、(この場合) 型の値を返します。 GenParser tok st a
.
詳細については、を参照してください。 Text.ParserCombinators.Parsec.Error
, 、 具体的には Message
. 。ここで、どの場合にどの関数を使用するかを読み取ることができます (どちらも解析エラーを意味しますが、意味的には若干異なります)。
所属していません StackOverflow