00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef __itkFEMException_h
00018 #define __itkFEMException_h
00019
00020 #include <typeinfo>
00021 #include <string>
00022
00023 #include "itkMacro.h"
00024
00025 namespace itk {
00026 namespace fem {
00027
00038 class FEMException : public itk::ExceptionObject
00039 {
00040 public:
00041
00050 FEMException(const char *file, unsigned int lineNumber, std::string location="Unknown");
00051
00053 virtual ~FEMException() throw() {}
00054
00056 itkTypeMacro(FEMException, ExceptionObject);
00057 };
00058
00059
00060
00061
00068 class FEMExceptionIO : public FEMException
00069 {
00070 public:
00071
00077 FEMExceptionIO(const char *file, unsigned int lineNumber, std::string location, std::string moreDescription);
00078
00080 virtual ~FEMExceptionIO() throw() {}
00081
00083 itkTypeMacro(FEMExceptionIO,FEMException);
00084 };
00085
00086
00087
00088
00106 class FEMExceptionWrongClass : public FEMException
00107 {
00108 public:
00109 FEMExceptionWrongClass(const char *file, unsigned int lineNumber, std::string location);
00110
00112 virtual ~FEMExceptionWrongClass() throw() {}
00113
00115 itkTypeMacro(FEMExceptionWrongClass,FEMException);
00116 };
00117
00118
00119
00120
00128 class FEMExceptionObjectNotFound : public FEMException
00129 {
00130 public:
00131 FEMExceptionObjectNotFound(const char *file, unsigned int lineNumber, std::string location, std::string baseClassName, int GN);
00132
00134 virtual ~FEMExceptionObjectNotFound() throw() {}
00135
00137 itkTypeMacro(FEMExceptionObjectNotFound,FEMException);
00138
00142 std::string m_baseClassName;
00143 int m_GN;
00144
00145 };
00146
00147
00148
00149
00157 class FEMExceptionSolution : public FEMException
00158 {
00159 public:
00160
00166 FEMExceptionSolution(const char *file, unsigned int lineNumber, std::string location, std::string moreDescription);
00167
00169 virtual ~FEMExceptionSolution() throw() {}
00170
00172 itkTypeMacro(FEMExceptionSolution,FEMException);
00173
00174 };
00175
00176
00177
00178
00179 }}
00180
00181 #endif // #ifndef __itkFEMException_h
00182