diff options
Diffstat (limited to 'src/Propellor/Types/Exception.hs')
-rw-r--r-- | src/Propellor/Types/Exception.hs | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/Propellor/Types/Exception.hs b/src/Propellor/Types/Exception.hs new file mode 100644 index 00000000..9fdcab93 --- /dev/null +++ b/src/Propellor/Types/Exception.hs @@ -0,0 +1,22 @@ +{-# LANGUAGE DeriveDataTypeable #-} +module Propellor.Types.Exception where + +import Data.Typeable +import Control.Exception + +-- | Normally when an exception is encountered while propellor is +-- ensuring a property, the property fails, but propellor robustly +-- continues on to the next property. +-- +-- This is the only exception that will stop the entire propellor run, +-- preventing any subsequent properties of the Host from being ensured. +-- (When propellor is running in a container in a Host, this exception only +-- stops the propellor run in the container; the outer run in the Host +-- continues.) +-- +-- You should only throw this exception when things are so badly messed up +-- that it's best for propellor to not try to do anything else. +data StopPropellorException = StopPropellorException String + deriving (Show, Typeable) + +instance Exception StopPropellorException |