后ghc-7.6.1世界中的DynamicException等价物是什么?

时间:2012-09-24 08:32:17

标签: haskell ghc

DynamicExceptionthrowDyn以及throwDynTo曾经在Control.OldException模块中。既然OldException已经不复存在了,依赖它的软件包就会被破坏。

DynamicException套餐或其他地方是否有ExtensibleException的等价物?我想以最小的改变逃脱。

上下文:我正在尝试使用GHC 7.6.1构建lambdabot。已损坏的文件在Signal.hs中为lambdabot-utils

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

1 个答案:

答案 0 :(得分:8)

Control.Exception中这些功能的等效项仅为throwthrowTocatch,因为Control.Exception默认支持动态例外。

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

instance Exception Foo