DynamicException
und throwDyn
und throwDynTo
waren früher im Modul Control.OldException
. Nun, da OldException
für immer verloren ist, sind Pakete, die darauf angewiesen sind, kaputt.
Gibt es ein Äquivalent von DynamicException
im Paket ExtensibleException
oder anderswo? Ich möchte mit minimalen Änderungen davonkommen.
Kontext: Ich versuche, Lambdabot mit GHC 7.6.1 zu bauen. Die beschädigte Datei ist Signal.hs
in lambdabot-utils
.
Update Gibt es eine Anleitung, wie Sie alten Exception-Code in neue erweiterbare Exceptions portieren? lambdabot
verwendet OldException
an mehreren Stellen, eine schnelle Lösung scheint nicht möglich.
Die Entsprechungen dieser Funktionen in der neuen Control.Exception
sind einfach throw
, throwTo
und catch
, da Control.Exception
standardmäßig dynamische Ausnahmen unterstützt.
Der Hauptunterschied zwischen der alten und der neuen Schnittstelle besteht darin, dass diese Funktionen eine Exception
Einschränkung haben und nicht Typeable
. In den meisten Fällen reicht die Standardimplementierung jedoch aus, sodass Sie Exception
instances nur für die Typen deklarieren müssen, die Sie verwenden möchten, z. B.