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
00045
const std::string& message()
const;
00046
00047
protected:
00048 std::string m_message;
00049 };
00050
00053 class
00054
SH_DLLEXPORT ShParseException :
public ShException {
00055
public:
00056 ShParseException(
const std::string& message);
00057 };
00058
00061 class
00062
SH_DLLEXPORT ShScopeException :
public ShException {
00063
public:
00064 ShScopeException(
const std::string& message);
00065 };
00066
00069 class
00070
SH_DLLEXPORT ShImageException :
public ShException {
00071
public:
00072 ShImageException(
const std::string& message);
00073 };
00074
00077 class
00078
SH_DLLEXPORT ShAlgebraException :
public ShException {
00079
public:
00080 ShAlgebraException(
const std::string& message);
00081 };
00082
00085 class
00086
SH_DLLEXPORT ShOptimizerException :
public ShException {
00087
public:
00088 ShOptimizerException(
const std::string& message);
00089 };
00090
00093 class
00094
SH_DLLEXPORT ShTransformerException :
public ShException {
00095
public:
00096 ShTransformerException(
const std::string& message);
00097 };
00098
00101 class
00102
SH_DLLEXPORT ShBackendException :
public ShException {
00103
public:
00104 ShBackendException(
const std::string& message);
00105 };
00106
00107 }
00108
00109
#endif