Haskell中的多行错误消息报告

时间:2011-09-04 10:58:40

标签: haskell

我有一个Haskell函数,它报告一个很长的错误消息。虽然我可以在一行中写下这条消息,但我想把它分成两个或更多,例如。

foo a b | a > b = a
        | a == b = b
        | otherwise = error "Blah blah blah blah in this line and 
                      some more blah in this line also."

GHCi不编译它。有什么建议吗?一个随意的谷歌没有产生任何答案。

2 个答案:

答案 0 :(得分:6)

您可以使用ghc的多行字符串语法:

foo a b | a > b = a
        | a == b = b
        | otherwise = error "Blah blah blah blah in this line and \
                            \some more blah in this line also."

对于错误,它并不重要,但在其他情况下,它可能比连接字符串更有效。

答案 1 :(得分:3)

你可以连接字符串:

foo a b | a > b = a
        | a == b = b
        | otherwise = error ("Blah blah blah blah in this line and"
                      ++ " some more blah in this line also.")

这对我有用