src/exception.h

Go to the documentation of this file.
00001 /*
00002 * Copyright (c) 2006 by Kirill Kolodyazhniy.
00003 * See the file "license.terms" for information on usage and redistribution
00004 * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
00005 */
00006 
00007 #ifndef M_EXCEPTION_H
00008 #define M_EXCEPTION_H
00009 
00010 #include <stdarg.h>
00011 #include <string>
00012 
00013 namespace MWidgets
00014 {
00016         #define EXCEPT Exception::PreCreate(__FILE__, __LINE__),throw Exception::Create
00018         #define CATCHEXCEPT(exception,desc) throw(  Exception(exception,desc,  __FILE__, __LINE__ ) )
00019 
00021         class Exception
00022         {
00023                 static int tempLine;
00024                 static std::string tempSrc;
00025                 int line;
00026                 std::string src;
00027                 std::string desc;
00028         protected:
00029                 static char desc_buf[1024];
00030         public:
00035                 Exception(const char* d,const char* f,int l);
00041                 Exception(Exception right,const char* d,const char* f,int l);
00045                 static void PreCreate(char* f,int l);
00048                 static Exception Create(char* format,...);
00051                 void AddMsg(const char* str);
00054                 std::string Msg();
00055         };
00056 };
00057 
00058 #endif

Generated on Thu Oct 26 13:47:45 2006 for MWidgets by  doxygen 1.4.7