propellor spin
This commit is contained in:
parent
a342e216bb
commit
a57022deb8
|
@ -4,13 +4,15 @@ module Propellor.Exception where
|
|||
|
||||
import qualified "MonadCatchIO-transformers" Control.Monad.CatchIO as M
|
||||
import Control.Exception
|
||||
import Control.Applicative
|
||||
|
||||
import Propellor.Types
|
||||
import Propellor.Message
|
||||
|
||||
-- | Catches IO exceptions and returns FailedChange.
|
||||
catchPropellor :: Propellor Result -> Propellor Result
|
||||
catchPropellor a = either (\_ -> FailedChange) id <$> tryPropellor a
|
||||
catchPropellor a = either err return =<< tryPropellor a
|
||||
where
|
||||
err e = warningMessage (show e) >> return FailedChange
|
||||
|
||||
tryPropellor :: Propellor a -> Propellor (Either IOException a)
|
||||
tryPropellor = M.try
|
||||
|
|
Loading…
Reference in New Issue