8

DynamicException并且曾经在模块中throwDyn。现在它已经一去不复返了,依赖它的包被破坏了。throwDynToControl.OldExceptionOldException

包装DynamicException中或其他地方是否有等价物?ExtensibleException我想以最小的变化摆脱困境。

背景:我正在尝试使用 GHC 7.6.1 构建 lambdabot。损坏的文件Signal.hs位于lambdabot-utils.

更新是否有某种将旧异常代码移植到新的可扩展异常的指南?lambdabot在多个地方使用OldException,似乎不可能快速修复。

4

1 回答 1

8

这些函数在 new 中的等价物Control.Exception是简单的throw,throwTocatch, asControl.Exception默认支持动态异常。

旧界面和新界面的主要区别在于这些功能有一个Exception约束,而不是Typeable. 但是,在大多数情况下,默认实现就足够了,因此您只需Exception为要使用的类型声明实例,例如

instance Exception Foo
于 2012-09-24T11:12:53.647 回答