Haskell 在后ghc-7.6.1世界中,DynamicException的等价物是什么?
Haskell 在后ghc-7.6.1世界中,DynamicException的等价物是什么?,haskell,ghc,Haskell,Ghc,DynamicException和throwDyn和throwDynTo过去位于控制.OldException模块中。现在,OldException已经永远消失了,依赖它的包也被破坏了 在ExtensibleException包或其他地方是否存在与DynamicException等价的功能?我想不做任何改动 背景:我正试图用GHC7.6.1构建lambdabot。损坏的文件是lambdabot utils中的Signal.hs 更新是否有关于将旧异常代码移植到新的可扩展异常的指南lambdabo
DynamicException
和throwDyn
和throwDynTo
过去位于控制.OldException
模块中。现在,OldException
已经永远消失了,依赖它的包也被破坏了
在ExtensibleException
包或其他地方是否存在与DynamicException
等价的功能?我想不做任何改动
背景:我正试图用GHC7.6.1构建lambdabot。损坏的文件是lambdabot utils
中的Signal.hs
更新是否有关于将旧异常代码移植到新的可扩展异常的指南
lambdabot
在多个地方使用了OldException
,似乎不可能快速修复。这些函数在新的控件中的等价物。Exception
只是抛出、抛出和捕获,就像控件一样。默认情况下,Exception
支持动态异常
旧接口和新接口之间的主要区别在于,这些函数具有异常
约束,而不是可键入
。但是,在大多数情况下,默认实现已经足够好了,因此您只需为要使用的类型声明Exception
实例,例如
instance Exception Foo
为什么不干脆控制异常呢?它支持将任意类型的异常作为数据。谢谢,simplethrowTo
可以工作。我以前从未使用过异常,所以我在这里有点迷茫。例如,如何处理旧的异常
数据类型?@n.m.基本上,旧的异常
类型的每个构造函数现在都对应于一个单独的类型,并且动态捕获所有异常。我写的可能对你有帮助。谢谢,我会试试看!