00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #ifndef ColExceptions_H
00012 #define ColExceptions_H
00013 #if defined(__sgi) || defined(_WIN32)
00014 #pragma once
00015 #endif
00016
00017 #include <stdio.h>
00018 #include <stdexcept>
00019
00020 #include <col_import_export.h>
00021
00022
00023 namespace col {
00024
00025
00026 class COL_EXPORTIMPORT XCollision : public std::runtime_error
00027 {
00028 public:
00029 XCollision( const char *format, ... ) throw ();
00030 XCollision( const char *leader, const char *format, ... ) throw ();
00031 XCollision(void) throw ();
00032 void print( FILE *file = stdout ) const throw();
00033 void set( const char *leader, const char *format, va_list va ) throw ();
00034 protected:
00035 static const unsigned int m_what_msg_size = 1024;
00036 char m_what_msg[m_what_msg_size];
00037 };
00038
00039
00040
00041 class COL_EXPORTIMPORT XQueueTooMany : public XCollision
00042 {
00043 public:
00044 XQueueTooMany( const char *what_kind_of ) throw ();
00045 };
00046
00047
00048
00049 class COL_EXPORTIMPORT XQueueNoLock : public XCollision
00050 {
00051 public:
00052 XQueueNoLock() throw ();
00053 };
00054
00055
00056
00057 class COL_EXPORTIMPORT XDopTree : public XCollision
00058 {
00059 public:
00060 XDopTree( const char *format, ... ) throw ();
00061 };
00062
00063
00064
00065 class COL_EXPORTIMPORT XColBug : public XCollision
00066 {
00067 public:
00068 XColBug( const char *format, ... ) throw ();
00069 };
00070
00071
00072
00073 class COL_EXPORTIMPORT XBoxtree : public XCollision
00074 {
00075 public:
00076 XBoxtree( const char *format, ... ) throw ();
00077 };
00078
00079
00080 }
00081
00082 #endif