module Model.ServerExceptions where
import Control.Exception
data QueryException = SyntaxException |
VariableException |
ParseFragmentException |
EmptyQueryException |
InvalidObjectException |
InvalidScalarException |
InvalidObjectNestedObjectFieldException |
InvalidObjectScalarFieldException |
InvalidObjectSubFieldException |
InvalidAttributeTransformation |
NullArgumentException |
CreatingSqlQueryObjectFieldsException |
CreatingSqlQueryObjectsException |
TooManyTablesException |
EmptyRowException |
EOFDataProcessingException |
InvalidArgumentException |
Foundlinebreakexception |
RelationshipConfigurationException
deriving Show
instance Exception QueryException
-- use Control.Exception.assert to make your unit tests.
-- simply use throw SyntaxException
-- can I catch from main block?
-- you can catch an exception and display message at next page.
-- TODO: abstract read ServerObject: if read is wrong we catch and throw read server object error