8

DynamicExceptionそしてthrowDynthrowDynTo以前はControl.OldExceptionモジュールに含まれていました。今でOldExceptionはそれは永久になくなり、それに依存していたパッケージは壊れています。

パッケージまたは他DynamicExceptionの場所に同等のものはありますか?ExtensibleException最小限の変更で逃げたいです。

コンテキスト:GHC7.6.1でラムダボットを構築しようとしています。壊れたファイルはSignal.hsにありlambdabot-utilsます。

更新古い例外コードを新しい拡張可能な例外に移植するための何らかのガイドはありますか?lambdabotいくつかの場所で使用OldExceptionしているため、迅速な修正は不可能のようです。

4

1 に答える 1

8

new のこれらの関数に相当するものは、デフォルトで動的例外をサポートしているため、Control.Exception単純throwに 、throwToおよびです。catchControl.Exception

古いインターフェースと新しいインターフェースの主な違いは、これらの関数にはExceptionではなく制約があることですTypeable。ただし、ほとんどの場合、デフォルトの実装で十分なので、Exception使用したい型のインスタンスを宣言するだけで済みます。

instance Exception Foo
于 2012-09-24T11:12:53.647 に答える