小编Joe*_*ood的帖子

如何显示Haskell中抛出的错误的回溯

我正在调试我在Haskell中为我的文凭论文实现的算法.它似乎对大多数输入正常工作,但我发现一个输入使GHC抛出错误

***例外:Map.find:元素不在地图中

由于我的代码中有很多Map查找,因此我需要找到抛出此错误的行来理解它.我通读了这个指南,但是虽然我设置了标志fbreak-on-exception(和-error),所有GHCi在跟踪我正在测试的函数后给了我:

[...]> :trace test
[...]
Stopped at <exception thrown>
_exception ::
  e = GHC.Exception.SomeException (GHC.Exception.D:Exception _
                                                         (GHC.Show.D:Show ...) ....)
                              (GHC.Exception.ErrorCall ['M',....])
Unable to list source for <exception thrown>
Try rerunning with :trace, :back then :list
[<exception thrown>] [...]> :history
Empty history. Perhaps you forgot to use :trace?
Run Code Online (Sandbox Code Playgroud)

试图:trace再次似乎并没有帮助的.

那么,有人可以告诉我出了什么问题或提供另一种找到违规行的方法吗?提前致谢!

PS:我使用的是GHC 7.0.3版本,因此链接指南应该适用.

haskell

14
推荐指数
1
解决办法
2913
查看次数

标签 统计

haskell ×1