Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

MyException.h

Go to the documentation of this file.
00001 #if !defined(AFX_MYEXCEPTION_H__70AB5B86_0239_4F62_B3F5_61A033D526AF__INCLUDED_)
00002 #define AFX_MYEXCEPTION_H__70AB5B86_0239_4F62_B3F5_61A033D526AF__INCLUDED_
00003 
00004 #if _MSC_VER > 1000
00005 #pragma once
00006 #endif // _MSC_VER > 1000
00007 
00008 #include "MyString.h"
00009 
00010 class MyException
00011 {
00012         private:
00013                 MyString m_message;
00014                 MyString m_param;
00015                 MyString m_methodeName;
00016                 MyString m_className;
00017 
00018         public:
00019                 MyException()
00020                 {
00021                 }
00022 
00023                 MyException(char *className,char *methodeName,char *message,char *param=NULL)
00024                 {
00025                         Init(className,methodeName,message,param);
00026                 }
00027 
00028                 void Init (char *className,char *methodeName,char *message,char *param=NULL)
00029                 {
00030                         m_message = message;
00031                         m_methodeName = methodeName;
00032                         m_className = className;
00033                         m_param = param;
00034                         MessageBox(); // for debug
00035                 }
00036 
00037                 int MessageBox()
00038                 {
00039                         MyString temp;
00040                         temp<<"Context: "<<m_className<<m_methodeName<<"\nMessage: "<<m_message;
00041                         if (m_param != "") temp<<"\nValue: "<<m_param;
00042                         return ::MessageBox(NULL,temp,"Error Exception",0);
00043                 }
00044 };
00045 
00046 class MyExceptionMemory : public MyException
00047 {
00048         public:
00049                 MyExceptionMemory(char *className,char *methodeName,long size)
00050                 {
00051                         MyString temp;
00052                         temp<<"no more memory for "<<size<<" bytes";
00053                         Init(className,methodeName,temp);
00054                 }
00055 };
00056 
00057 class CMsgBox
00058 {
00059         public:
00060                 MyString m_message;
00061                 MyString m_title;
00062                 int               m_style;
00063 
00064         public:
00065                 CMsgBox(char *message,char *title,int style=0)
00066                 {
00067                         m_message = message;
00068                         m_title = title;
00069                         m_style = style;
00070                 }
00071 
00072                 int MessageBox()
00073                 {
00074                         return ::MessageBox(NULL,m_message,m_title,m_style);
00075                 }
00076 };
00077 
00078 #endif // !defined(AFX_MYEXCEPTION_H__70AB5B86_0239_4F62_B3F5_61A033D526AF__INCLUDED_)

Generated on Fri Aug 20 19:19:47 2004 for 3d Controls by doxygen 1.3.6