75 lines
2.3 KiB
C++
75 lines
2.3 KiB
C++
/*------------------------------------------------------------------------------
|
|
* 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.
|
|
------------------------------------------------------------------------------*/
|
|
#ifndef _lucene_debug_error_
|
|
#define _lucene_debug_error_
|
|
|
|
#if defined(_LUCENE_PRAGMA_ONCE)
|
|
# pragma once
|
|
#endif
|
|
|
|
#define CL_ERR_UNKNOWN -1
|
|
#define CL_ERR_IO 1
|
|
#define CL_ERR_NullPointer 2
|
|
#define CL_ERR_Runtime 3
|
|
#define CL_ERR_IllegalArgument 4
|
|
#define CL_ERR_Parse 5
|
|
#define CL_ERR_TokenMgr 6
|
|
#define CL_ERR_UnsupportedOperation 7
|
|
#define CL_ERR_InvalidState 8
|
|
#define CL_ERR_IndexOutOfBounds 9
|
|
#define CL_ERR_TooManyClauses 10
|
|
#define CL_ERR_RAMTransaction 11
|
|
#define CL_ERR_InvalidCast 12
|
|
#define CL_ERR_IllegalState 13
|
|
|
|
|
|
|
|
////////////////////////////////////////////////////////
|
|
//error try/throw/catch definitions
|
|
////////////////////////////////////////////////////////
|
|
#ifdef _CL_DISABLE_NATIVE_EXCEPTIONS
|
|
/*#define try _jpr_Try
|
|
#define _CLCATCH _jpr_Catch
|
|
#define _CLFINALLY(x) xxxx
|
|
#define _CLTHROWA(y) _jpr_Throw
|
|
#define _THROWA_DEL(y) _jpr_Throw
|
|
#define _RETHROW(x) _jpr_Throw
|
|
#define _CLTHROWT(y) _jpr_Throw
|
|
|
|
#define _THROWS ,_jpr_Throws*/
|
|
#else
|
|
class CLuceneError
|
|
{
|
|
int error_number;
|
|
char* _awhat;
|
|
TCHAR* _twhat;
|
|
public:
|
|
CLuceneError(const CLuceneError& clone);
|
|
CLuceneError(int num, const char* str, bool ownstr);
|
|
#ifdef _UCS2
|
|
CLuceneError(int num, const TCHAR* str, bool ownstr);
|
|
#endif
|
|
int number(){return error_number;}
|
|
char* what();
|
|
TCHAR* twhat();
|
|
~CLuceneError() throw();
|
|
};
|
|
|
|
//#define _THROWS //does nothing
|
|
#define _CLFINALLY(x) catch(...){ x; throw; } x //note: code x is not run if return is called
|
|
#define _CLTHROWA(number, str) throw CLuceneError(number, str,false)
|
|
#define _CLTHROWT(number, str) throw CLuceneError(number, str,false)
|
|
#define _CLTHROWA_DEL(number, str) throw CLuceneError(number, str,true) //throw a string ensures the value is deleted
|
|
#define _CLTHROWT_DEL(number, str) throw CLuceneError(number, str,true) //throw a string ensures the value is deleted
|
|
|
|
|
|
#endif //_LUCENE_DISABLE_EXCEPTIONS
|
|
//
|
|
////////////////////////////////////////////////////////
|
|
|
|
#endif
|