00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #ifndef EXCEPTIONS_H
00013 #define EXCEPTIONS_H
00014
00015 #include <sstream>
00016 #include <string>
00017
00018
00019
00020 class Parser;
00021 class TripleInt;
00022 class TripleDouble;
00023
00024 using namespace std;
00025
00026 class Exception {
00027 protected:
00028 string message;
00029 public:
00030
00031 Exception() {message = "//\t";};
00032
00033 string getMessage() {return message;};
00034 };
00035
00036 class GeneralException : public Exception {
00037 public:
00038
00039 GeneralException(string);
00040 };
00041
00042 class GeneralFileException : public Exception {
00043 public:
00044
00045 GeneralFileException(Parser*, string);
00046 };
00047
00048 class NoSuchFileException : public Exception {
00049 public:
00050
00051 NoSuchFileException(string);
00052 };
00053
00054 class CannotOpenFileException : public Exception {
00055 public:
00056
00057 CannotOpenFileException(string);
00058 };
00059
00060 class UnexpectedInputException : public Exception {
00061 public:
00062
00063 UnexpectedInputException(string, int, int, string, string);
00064 UnexpectedInputException(string, int, int, string);
00065 };
00066
00067 class PrematureEOFException : public Exception {
00068 public:
00069
00070 PrematureEOFException(string);
00071 };
00072
00073 class NoSuchTokenException : public Exception {
00074 public:
00075
00076 NoSuchTokenException(Parser*, string);
00077 };
00078
00079 class DanglingDelimiterException : public Exception {
00080 public:
00081
00082 DanglingDelimiterException(string, int, int, string);
00083 };
00084
00085 class DLException : public Exception {
00086 public:
00087
00088 DLException(string, char*);
00089 };
00090
00091 class SteeringException : public Exception {
00092 public:
00093
00094 SteeringException(string, string);
00095 SteeringException(string);
00096 };
00097
00098 class LatticeRangeException : public Exception {
00099 public:
00100
00101 LatticeRangeException(int, string);
00102 LatticeRangeException(TripleInt, string);
00103 LatticeRangeException(TripleDouble, string);
00104 };
00105
00106 class GTSException : public Exception {
00107 public:
00108
00109 GTSException(string, int, string);
00110 };
00111
00112 class TimeException : public Exception {
00113 public:
00114
00115 TimeException();
00116 };
00117
00118 class MappingException : public Exception {
00119 public:
00120
00121 MappingException(string);
00122 };
00123
00124 class IncompatibleVariablesException : public Exception {
00125 public:
00126
00127 IncompatibleVariablesException(string);
00128 };
00129
00130 class VariableException : public Exception {
00131 public:
00132
00133 VariableException(string);
00134 };
00135
00136 class MissingNodegroupException : public Exception {
00137 public:
00138
00139 MissingNodegroupException(string);
00140 };
00141
00142 class NodeCastException : public Exception {
00143 public:
00144
00145 NodeCastException(string, string, string);
00146 };
00147
00148 #endif