#ifndef EXCEPTION_H_
#define EXCEPTION_H_

namespace std {
	class exception {
	public:
		/*
		 * コンストラクタ
		 */
		exception() throw() {}
		
		/*
		 * デストラクタ
		 */
		virtual ~exception() throw() {}
		
		/*
		 * 例外メッセージを返す
		 */
		virtual const char* what() const throw();
	};
	
	const char* exception::what() const {
		return "exception occurred";
	}
	
	class bad_alloc : public exception {
	public:
		bad_alloc() throw() {}
		virtual ~bad_alloc() throw() {}
	};
}

#endif /*EXCEPTION_H_*/
