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