/* libzz
*
* This program is distributed under the GNU General Public License, version 2.
* A copy of this license is included with this source.
*
* Copyright 2000-2006, Toni Thomsson <toni@tonjac.org>
*/
#ifndef zz_log_exception_h
#define zz_log_exception_h
#include <zz_exception.h>
#include <zz_log.h>
#include <zz_export.h>
/**
Exception that logs the error
@author Toni Thomsson, toni@tonjac.org
*/
class ZZ_API CzzLogException : public CzzException
{
public:
/**
Create an exception
@param lineNumber Line number in sourcecode file, use __LINE__
@param fileName Sourcecode file, use __FILE__
@param code Error code
@param reason Error text
*/
CzzLogException( int lineNumber,
CzzString fileName,
int code,
CzzString reason );
virtual ~CzzLogException();
/**
Logs the message. No need to call this directly
its called by the constructor.
@param row Rownumber
@param file File
*/
virtual void LogErr( const int row,
const char* file );
protected:
/** Logger */
CzzLog m_Log;
};
#endif // zz_log_exception_h