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