#ifndef _EXCEPTION_NULLPTR_H_
#define _EXCEPTION_NULLPTR_H_

#include "exceptionbase.h"

using namespace std;

/**
 * \brief Null pointer exception.
 *
 * Occurs mostly if you try to deferernce empty Ptr<T> object, such as object->foo()
 *
 * \date 01-21-2006
 *
 * \author Ondrej Svejdar
 *
 * \todo 
 *
 * \bug 
 *
 */
class ExceptionNullPtr:public ExceptionBase
{
	const char* className;
public:
	static const char* type;
	const char* getType() const;

	/**
	 * \brief ctor
	 * \param type class name on which null pointer exception occured (default null pointer)
	 */
	ExceptionNullPtr(const char* type=0)
	{
		this->className=type;
	}
	
	~ExceptionNullPtr() throw()
	{
	}

	const string& getMessage() const;
};

#endif/*_EXCEPTION_NULLPTR_H_*/
