QP  0.7-SNAPSHOT
Control software for the ??SRT telescope
 All Classes Namespaces Functions Variables Enumerations Enumerator Pages
exception.h
1 #ifndef EXCEPTION_H_LOADED
2 #define EXCEPTION_H_LOADED 1
3 
4 // The only 'exception' handling is functions fatal(format, ...)
5 // and recoverable_error(format, ...); both are actually macros.
6 
7 #include "types.h"
8 
9 #define assert(e) ((e) ? (void)0 : (fatal(PSTR("assertion")), (void)0))
10 
11 // fatal and recoverable_error are defined in exception.cpp
12 void qp_error(bool is_fatal, const char* file, unsigned int line, PGM_P format, ...);
13 #define fatal(...) qp_error(true, __FILE__, __LINE__, __VA_ARGS__)
14 #define recoverable_error(...) qp_error(false, __FILE__, __LINE__, __VA_ARGS__)
15 
16 #endif /* EXCEPTION_H_LOADED */