В документации Control.Exception говорится, что я могу сделать следующее, чтобы создать собственное исключение:
data MyException = ThisException | ThatException
deriving (Show, Typeable)
instance Exception MyException
Если я вставлю это в файл и скомпилирую (после импорта 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'
Должен ли я включить это расширение, чтобы иметь определенные пользователем исключения? Если нет, то, пожалуйста, предоставьте пример. Спасибо.