00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00024 #ifndef SHEXCEPTION_HPP
00025 #define SHEXCEPTION_HPP
00026
00027 #include <string>
00028 #include "ShDllExport.hpp"
00029
00030 namespace SH {
00031
00035 class
00036 SH_DLLEXPORT ShException {
00037 public:
00039 ShException(const std::string& message);
00040 virtual ~ShException();
00041
00042
00044 const std::string& message() const;
00045
00046 protected:
00047 std::string m_message;
00048 };
00049
00052 class
00053 SH_DLLEXPORT ShParseException : public ShException {
00054 public:
00055 ShParseException(const std::string& message);
00056 };
00057
00060 class
00061 SH_DLLEXPORT ShScopeException : public ShException {
00062 public:
00063 ShScopeException(const std::string& message);
00064 };
00065
00068 class
00069 SH_DLLEXPORT ShImageException : public ShException {
00070 public:
00071 ShImageException(const std::string& message);
00072 };
00073
00076 class
00077 SH_DLLEXPORT ShAlgebraException : public ShException {
00078 public:
00079 ShAlgebraException(const std::string& message);
00080 };
00081
00084 class
00085 SH_DLLEXPORT ShOptimizerException : public ShException {
00086 public:
00087 ShOptimizerException(const std::string& message);
00088 };
00089
00092 class
00093 SH_DLLEXPORT ShTransformerException : public ShException {
00094 public:
00095 ShTransformerException(const std::string& message);
00096 };
00097
00100 class
00101 SH_DLLEXPORT ShBackendException : public ShException {
00102 public:
00103 ShBackendException(const std::string& message);
00104 };
00105
00106 }
00107
00108 #endif