Перехватывать ошибки, выдаваемые с помощью `error`?

Существуют некоторые функции stdlib, которые выдают ошибки при неверном вводе. Например:

Prelude> read "1o2" :: Int
*** Exception: Prelude.read: no parse

Я хотел бы обернуть его, чтобы вместо этого возвращалось Либо e a. Как мне это сделать?

9
задан missingfaktor 7 June 2012 в 06:41
поделиться