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:
00049 FEMException(const char *file, unsigned int lineNumber, std::string location="Unknown");
00050
00052 virtual ~FEMException() throw() {}
00053
00055 itkTypeMacro(FEMException, ExceptionObject);
00056 };
00057
00058
00059
00060
00067 class FEMExceptionIO : public FEMException
00068 {
00069 public:
00075 FEMExceptionIO(const char *file, unsigned int lineNumber, std::string location, std::string moreDescription);
00076
00078 virtual ~FEMExceptionIO() throw() {}
00079
00081 itkTypeMacro(FEMExceptionIO,FEMException);
00082 };
00083
00084
00085
00086
00104 class FEMExceptionWrongClass : public FEMException
00105 {
00106 public:
00107 FEMExceptionWrongClass(const char *file, unsigned int lineNumber, std::string location);
00108
00110 virtual ~FEMExceptionWrongClass() throw() {}
00111
00113 itkTypeMacro(FEMExceptionWrongClass,FEMException);
00114 };
00115
00116
00117
00118
00126 class FEMExceptionObjectNotFound : public FEMException
00127 {
00128 public:
00129 FEMExceptionObjectNotFound(const char *file, unsigned int lineNumber, std::string location, std::string baseClassName, int GN);
00130
00132 virtual ~FEMExceptionObjectNotFound() throw() {}
00133
00135 itkTypeMacro(FEMExceptionObjectNotFound,FEMException);
00136
00140 std::string m_baseClassName;
00141 int m_GN;
00142
00143 };
00144
00145
00146
00147
00155 class FEMExceptionSolution : public FEMException
00156 {
00157 public:
00163 FEMExceptionSolution(const char *file, unsigned int lineNumber, std::string location, std::string moreDescription);
00164
00166 virtual ~FEMExceptionSolution() throw() {}
00167
00169 itkTypeMacro(FEMExceptionSolution,FEMException);
00170
00171 };
00172
00173
00174
00175
00176 }}
00177
00178 #endif // #ifndef __itkFEMException_h