Catch exceptions

This commit is contained in:
2020-12-10 23:13:23 +02:00
parent 55ddbd55e2
commit c9cf4c1d59
2 changed files with 6 additions and 4 deletions

View File

@ -1,3 +1,4 @@
{-# LANGUAGE TypeApplications #-}
module Data.Email where
import Data.Email.Header
@ -9,5 +10,7 @@ import qualified Data.Conduit.Text as CT
import Data.ByteString
(ByteString)
parseEmail :: (MonadThrow m, Monad m) => ConduitM ByteString Header m ()
parseEmail = CT.decode CT.utf8 .| CT.lines .| C.concatMap decode
parseEmail :: (MonadUnliftIO m, MonadThrow m, Monad m) => ConduitM ByteString Header m ()
parseEmail = catchC (CT.decode CT.utf8) err .| CT.lines .| C.concatMap decode
where
err e = liftIO (print @CT.TextException e) >> yield ""