blob: 77824ca27b3d16881f0aaf649035086484e8f40f [file] [log] [blame]
/*------------------------------------------------------------------------------
* Copyright (C) 2003-2006 Ben van Klinken and the CLucene Team
*
* Distributable under the terms of either the Apache License (Version 2.0) or
* the GNU Lesser General Public License, as specified in the COPYING file.
------------------------------------------------------------------------------*/
#include "CLucene/StdHeader.h"
CL_NS_USE(util)
#ifdef _LUCENE_DISABLE_EXCEPTIONS
#ifdef _LUCENE_PRAGMA_WARNINGS
#pragma message ("==================Lucene exceptions are disabled==================")
#else
#warning "==================Lucene exceptions are disabled=================="
#endif
#else
CLuceneError::CLuceneError(int num, const char* str, bool ownstr)
{
error_number = num;
_awhat=STRDUP_AtoA(str);
_twhat=NULL;
if ( ownstr )
_CLDELETE_CaARRAY(str);
}
CLuceneError::CLuceneError(const CLuceneError& clone)
{
this->error_number = clone.error_number;
this->_awhat = NULL;
this->_twhat = NULL;
if ( clone._awhat != NULL )
this->_awhat = STRDUP_AtoA(clone._awhat);
if ( clone._twhat != NULL )
this->_twhat = STRDUP_TtoT(clone._twhat);
}
CLuceneError::~CLuceneError() throw(){
_CLDELETE_CARRAY(_twhat);
_CLDELETE_CaARRAY(_awhat);
}
char* CLuceneError::what(){
#ifdef _ASCII
if ( _twhat != NULL )
return _twhat;
#endif
if ( _awhat == NULL )
_awhat = STRDUP_TtoA(_twhat);
return _awhat;
}
TCHAR* CLuceneError::twhat(){
#ifdef _ASCII
if ( _awhat != NULL )
return _awhat;
#endif
if ( _twhat == NULL )
_twhat = STRDUP_AtoT(_awhat);
return _twhat;
}
#ifndef _ASCII
CLuceneError::CLuceneError(int num, const TCHAR* str, bool ownstr)
{
error_number = 0;
_awhat=NULL;
_twhat=STRDUP_TtoT(str);
if ( ownstr )
_CLDELETE_CARRAY(str);
}
#endif
#endif //_LUCENE_DISABLE_EXCEPTIONS