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
00065 class FEMExceptionIO : public FEMException
00066 {
00067 public:
00068
00074 FEMExceptionIO(const char *file, unsigned int lineNumber, std::string location, std::string moreDescription);
00075
00077 virtual ~FEMExceptionIO() throw() {}
00078
00080 itkTypeMacro(FEMExceptionIO,FEMException);
00081 };
00082
00100 class FEMExceptionWrongClass : public FEMException
00101 {
00102 public:
00103 FEMExceptionWrongClass(const char *file, unsigned int lineNumber, std::string location);
00104
00106 virtual ~FEMExceptionWrongClass() throw() {}
00107
00109 itkTypeMacro(FEMExceptionWrongClass,FEMException);
00110 };
00111
00119 class FEMExceptionObjectNotFound : public FEMException
00120 {
00121 public:
00122 FEMExceptionObjectNotFound(const char *file, unsigned int lineNumber, std::string location, std::string baseClassName, int GN);
00123
00125 virtual ~FEMExceptionObjectNotFound() throw() {}
00126
00128 itkTypeMacro(FEMExceptionObjectNotFound,FEMException);
00129
00133 std::string m_baseClassName;
00134 int m_GN;
00135
00136 };
00137
00145 class FEMExceptionSolution : public FEMException
00146 {
00147 public:
00148
00154 FEMExceptionSolution(const char *file, unsigned int lineNumber, std::string location, std::string moreDescription);
00155
00157 virtual ~FEMExceptionSolution() throw() {}
00158
00160 itkTypeMacro(FEMExceptionSolution,FEMException);
00161
00162 };
00163
00164 }}
00165
00166 #endif // #ifndef __itkFEMException_h
00167