/*!
 	@file 
 	@brief	ライブラリで使用している例外処理のベースクラス
 */

#ifndef CException_h
#define CException_h

#include"../../Setup/CompileMode.h"
#include"../Macro.h"
#include"../mstring.h"


namespace Maid
{
	//	ライブラリ内部で使われる例外のベースクラス
	//	なんでもいいから投げておけな時にも使う
	class CException
	{
	public:
		CException( const mstring& t=mstring() );
		CException( const mstring& t, const char* szFile, int Line );

		mstring Text;	//	起こった例外が入っている
		mstring	FileName;
		int		Line;

		void WriteLog();
	};
}

#define MAID_THROWEXCEPTION( mess )	{ throw Maid::CException(mess, __FILE__,__LINE__ ); }


#endif
