sproxy-web-0.3.1: src/SproxyError.hs
{-# LANGUAGE OverloadedStrings, DeriveDataTypeable #-}
module SproxyError where
import qualified Data.Text.Lazy as T
import Control.Exception
import Data.String
import Data.Typeable
import Database.PostgreSQL.Simple
import Web.Scotty.Trans
data SproxyError = SqlErr !SqlError
| NotFound
| Other !T.Text
deriving Typeable
instance Exception SproxyError where
instance Show SproxyError where
show (SqlErr e) = "PGSQL error: " ++ show e
show (NotFound) = "This page doesn't exist, sorry."
show (Other e) = "Unknown error: " ++ T.unpack e
instance ScottyError SproxyError where
stringError = Other . T.pack
showError = fromString . show