00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00027 #ifndef SHEXCEPTION_HPP
00028 #define SHEXCEPTION_HPP
00029
00030 #include <string>
00031 #include "ShDllExport.hpp"
00032
00033 namespace SH {
00034
00038 class
00039 SH_DLLEXPORT ShException {
00040 public:
00042 ShException(const std::string& message);
00043 virtual ~ShException();
00044
00045
00047 const std::string& message() const;
00048
00049 protected:
00050 std::string m_message;
00051 };
00052
00055 class
00056 SH_DLLEXPORT ShParseException : public ShException {
00057 public:
00058 ShParseException(const std::string& message);
00059 };
00060
00063 class
00064 SH_DLLEXPORT ShScopeException : public ShException {
00065 public:
00066 ShScopeException(const std::string& message);
00067 };
00068
00071 class
00072 SH_DLLEXPORT ShImageException : public ShException {
00073 public:
00074 ShImageException(const std::string& message);
00075 };
00076
00079 class
00080 SH_DLLEXPORT ShAlgebraException : public ShException {
00081 public:
00082 ShAlgebraException(const std::string& message);
00083 };
00084
00087 class
00088 SH_DLLEXPORT ShOptimizerException : public ShException {
00089 public:
00090 ShOptimizerException(const std::string& message);
00091 };
00092
00095 class
00096 SH_DLLEXPORT ShTransformerException : public ShException {
00097 public:
00098 ShTransformerException(const std::string& message);
00099 };
00100
00103 class
00104 SH_DLLEXPORT ShBackendException : public ShException {
00105 public:
00106 ShBackendException(const std::string& message);
00107 };
00108
00109 }
00110
00111 #endif