Как определить пользовательское исключение в Haskell?

Управление. В документации исключения говорится, что я могу сделать следующее для создания моего собственного исключения:

 data MyException = ThisException | ThatException
     deriving (Show, Typeable)

 instance Exception MyException

Если я вставляю это в файл и компиляцию (после того, как импорт Управления. Исключение и Данные. 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'

Я должен включить это расширение, чтобы иметь пользовательские исключения? В противном случае кто-то обеспечьте пример.Спасибо.

6
задан me2 16 February 2010 в 04:39
поделиться

1 ответ

Да, вам нужно включить это расширение. Не рекомендуется писать экземпляр Typeable вручную, потому что он имеет некоторые связи с внутренними компонентами GHC.

5
ответ дан 17 December 2019 в 04:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: