Control.Exception文档说我可以执行以下操作来创建自己的异常:
data MyException = ThisException | ThatException
deriving (Show, Typeable)
instance Exception MyException
Run Code Online (Sandbox Code Playgroud)
如果我将其粘贴到文件中并进行编译(在导入Control.Exception和Data.Typeable之后),我得到:
exp.hs:6:20:
Can't make a derived instance of `Typeable MyException'
(You need -XDeriveDataTypeable to derive an instance for this class)
In the data type declaration for `MyException'
Run Code Online (Sandbox Code Playgroud)
我必须打开此扩展程序才能拥有用户定义的异常吗?如果没有,请有人举个例子.谢谢.
是的,您需要打开该扩展程序.尝试Typeable手动编写实例并不是一个好主意,因为它与GHC的内部有一些联系.
| 归档时间: |
|
| 查看次数: |
1161 次 |
| 最近记录: |