/*!\file exceptions.h * \brief: two types of exceptions are handled for now. Errors, and * warnings. Those exceptions are trapped provided the matlab modules * are started using MODULEBOOT, and ended using MODULEEND. These are * macros hiding try, catch statements. This header file defines our * own exceptions */ #ifndef _MY_EXCEPTIONS_H_ #define _MY_EXCEPTIONS_H_ #include #include #include #include #include using namespace std; #ifdef HAVE_CONFIG_H #include #else #error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!" #endif /*macros: */ /* _assert_ {{{*/ /*Assertion macro: do nothing if macro _ISSM_DEBUG_ undefined*/ #ifdef _ISSM_DEBUG_ #define _assert_(statement)\ if (!(statement)) _error_("Assertion \""<<#statement<<"\" failed, please report bug to "<