1#ifndef __EXCEPTIONBASE_HPP__
2#define __EXCEPTIONBASE_HPP__ 1
17#include <sys/syscall.h>
28#define ExceptionClassGenerator( ClassName , ClassDescription ) \
29 class ClassName : public BUException::exBase { \
31 ClassName() throw() {Init();} \
32 ClassName(const ClassName & rh) throw() : \
33 BUException::exBase(rh) {Init();Copy(rh);} \
34 ClassName & operator=(const ClassName & rh) throw() \
35 {Init();Copy(rh);return *this;} \
36 ~ClassName() throw() {} \
37 const char * what() const throw() {return whatname;} \
41 strcpy(whatname,ClassDescription); \
43 char whatname[sizeof(ClassDescription)]; \
47 class exBase :
public std::exception {
56 void Append(
const char * buffer)
throw();
61 virtual const
char *
what() const throw() = 0;
void Append(const char *buffer)
void AppendStackLine(const char *line)
const char * StackTrace() const
void GenerateStackTrace()
virtual const char * what() const =0
const char * Description() const
void Append(std::string str)
exBase & operator=(const exBase &rh)
void Copy(const exBase &rh)