68 #pragma warning( disable : 4290 )
81 #define ERRORTEXT_PATH "/bin"
84 #define ERRORTEXT_FILE "errtxts"
88 class r_Error :
public std::exception
101 enum kind { r_Error_General,
102 r_Error_DatabaseClassMismatch,
103 r_Error_DatabaseClassUndefined,
104 r_Error_DatabaseClosed,
105 r_Error_DatabaseOpen,
107 r_Error_IteratorExhausted,
108 r_Error_NameNotUnique,
109 r_Error_QueryParameterCountInvalid,
110 r_Error_QueryParameterTypeInvalid,
114 r_Error_TimestampInvalid,
115 r_Error_TransactionOpen,
116 r_Error_TransactionNotOpen,
120 r_Error_OIdNotUnique,
122 r_Error_DatabaseUnknown,
123 r_Error_TransferFailed,
125 r_Error_ServerInvalid,
126 r_Error_RpcInterfaceIncompatible,
127 r_Error_ClientUnknown,
128 r_Error_ObjectUnknown,
129 r_Error_ObjectInvalid,
131 r_Error_QueryExecutionFailed,
132 r_Error_BaseDBMSFailed,
133 r_Error_CollectionElementTypeMismatch,
134 r_Error_CreatingOIdFailed,
135 r_Error_TransactionReadOnly,
137 r_Error_LimitsMismatch,
139 r_Error_FeatureNotSupported,
142 r_Error_SerialisableException,
145 r_Error_SystemOverloaded,
147 r_Error_MemoryAllocation,
149 r_Error_InvalidOptimizationLevel
157 r_Error(
const r_Error& );
160 r_Error( kind the_kind,
unsigned int newErrorNo = 0 );
163 r_Error(
unsigned int errorno );
166 virtual ~r_Error() throw();
169 virtual const
char* what() const throw();
172 const r_Error& operator=( const r_Error& obj );
176 inline kind get_kind() const;
179 inline
unsigned int get_errorno() const;
184 virtual
char* serialiseError();
191 static r_Error* getAnyError(
char* serErr);
197 static
void initTextTable();
200 static
void freeTextTable();
203 void setTextParameter( const
char* parameterName,
int value );
206 void setTextParameter( const
char* parameterName, const
char* value );
210 void setErrorTextOnKind();
213 void setErrorTextOnNumber();
216 virtual
void resetErrorText();
229 unsigned int errorNo;
232 static errorInfo *textList;
240 static std::list<std::pair<std::pair<
int,
char>,
char*> > *errorTexts;
241 static
bool errorTextsLoaded;
262 class r_Eno_interval : public r_Error
281 class r_Eindex_violation :
public r_Error
285 r_Eindex_violation( r_Range dlow, r_Range dhigh, r_Range dindex );
289 virtual void resetErrorText();
312 class r_Edim_mismatch :
public r_Error
316 r_Edim_mismatch( r_Dimension pdim1, r_Dimension pdim2 );
320 virtual void resetErrorText();
342 class r_Einit_overflow :
public r_Error
362 class r_Eno_cell :
public r_Error
383 class r_Equery_execution_failed :
public r_Error
387 r_Equery_execution_failed(
unsigned int errorno,
unsigned int lineno,
unsigned int columnno,
const char* token );
390 r_Equery_execution_failed(
const r_Equery_execution_failed &err );
393 ~r_Equery_execution_failed() throw();
397 inline
unsigned int get_lineno() const;
400 inline
unsigned int get_columnno() const;
402 inline const
char* get_token() const;
408 virtual
void resetErrorText();
415 unsigned int columnNo;
431 class r_Elimits_mismatch : public r_Error
435 r_Elimits_mismatch( r_Range lim1, r_Range lim2 );
439 virtual void resetErrorText();
460 class r_Ebase_dbms :
public r_Error
464 r_Ebase_dbms(
const long& newErrNum,
const char* newErrTxt );
467 r_Ebase_dbms(
const r_Ebase_dbms& oldErr );
470 r_Ebase_dbms( kind newTheKind,
unsigned long newErrNum,
const char* myStr );
473 ~r_Ebase_dbms() throw();
476 const r_Ebase_dbms& operator=( const r_Ebase_dbms& obj );
479 virtual const
char* what() const throw();
480 virtual
char* serialiseError();
496 class r_Eno_permission : public r_Error
503 class r_Ecapability_refused :
public r_Error
506 r_Ecapability_refused();
510 class r_Ememory_allocation:
public r_Error
513 r_Ememory_allocation();
516 #define MEMMORYALLOCATIONERROR 66
517 #define INTERNALDLPARSEERROR 100
519 #define RASTYPEUNKNOWN 209
520 #define BASETYPENOTSUPPORTED 210
521 #define RPCCOMMUNICATIONFAILURE 212
522 #define SYSTEM_COLLECTION_NOT_WRITABLE 216
523 #define SYSTEM_COLLECTION_HAS_NO_OID 217
524 #define CONVERSIONFORMATNOTSUPPORTED 218
525 #define TILESIZETOOSMALL 219
526 #define STORAGERLAYOUTINCOMPATIBLEWITHGMARRAY 220
527 #define DOMAINUNINITIALISED 221
528 #define NOTANMARRAYTYPE 222
529 #define RCINDEXWITHINCOMPATIBLEMARRAYTYPE 223
530 #define TILECONFIGMARRAYINCOMPATIBLE 224
531 #define RCINDEXWITHOUTREGULARTILING 225
532 #define UDFBODYTOOLARGE 226
533 #define POLYGONWRONGPOINTDIMENSION 227
534 #define POLYGONWRONGINITSTRING 228
535 #define QUERYPARAMETERINVALID 229
536 #define ILLEGALARGUMENT 230
537 #define MARRAYHASNOBASETYPE 231
538 #define INTERVALOPEN 232
539 #define INTERVALSWITHDIFFERENTDIMENSION 233
540 #define TILINGPARAMETERNOTCORRECT 234
541 #define CONNECTIONCLOSED 235
542 #define COMPRESSIONFAILED 236
543 #define CLIENTCOMMUICATIONFAILURE 237
544 #define BASETYPENOTSUPPORTEDBYOPERATION 238
545 #define OVERLAYPATTERNTOOSMALL 239
546 #define INSERTINTORCINDEX 240
547 #define NOTILINGDEFINED 241
548 #define UNSATIFIEDMDDCONSTANT 373
549 #define DATABASE_EXISTS 708
550 #define NO_PERMISSION_FOR_OPERATION 803
551 #define CAPABILITY_REFUSED 804
552 #define DATABASE_INCONSISTENT 1000
553 #define DATABASE_INCOMPATIBLE 1001
554 #define ZERO_LENGTH_BLOB 1002
555 #define TILE_CONTAINER_NOT_FOUND 1003
556 #define INDEX_OF_MDD_IS_NULL 1004
557 #define STORAGE_OF_MDD_IS_NULL 1005
558 #define UNKNOWN_INDEX_TYPE 1006
559 #define ILLEGAL_INDEX_TYPE 1007
560 #define COLLTYPE_NULL 1008
561 #define MDD_NOT_VALID 1009
562 #define MDDTYPE_NULL 1010
563 #define ILLEGALSTATEREACHED 1011
564 #define COLLECTIONTYPEISNULL 1012
565 #define TYPENAMEISTOOLONG 1013
566 #define INVALIDOBJECTNAME 1014
567 #define DATABASE_OPEN 2000
568 #define INVALID_OIDTYPE 2001
569 #define STRUCTTYPE_ELEMENT_UNKNOWN 2002
570 #define STRUCTTYPE_ELEMENT_OUT_OF_BOUNDS 2003
571 #define TRANSIENT_INDEX_USED_AS_PERSISTENT 2004
572 #define TILE_MULTIPLE_TIMES_RETRIEVED 2005
573 #define TILE_NOT_INSERTED_INTO_INDEX 2006
574 #define TRANSIENT_INDEX_OUT_OF_BOUNDS 2007
575 #define MDD_EXISTS_MULTIPLE_TIMES 2008
576 #define DATA_NOT_INSERTED_COMPLETELY 2009
577 #define CONVERSION_RETURNED_WRONG_TYPE 2010
578 #define COLLECTIONTYPEHASNOELEMENTTYPE 2011
579 #define MARRAYTYPEHASNOELEMENTTYPE 2012
580 #define PROPERTYTYPEHASNOELEMENTTYPE 2013
581 #define SCALARWASPASSEDNULLTYPE 2014
582 #define INDEXNOTFOUNDINPARENT 2015
583 #define INDEXEXHAUSTEDAREA 2016
584 #define LAYOUTALGORITHMPROBLEM 2017
585 #define OBJECTDOESNOTSUPPORTSWAPING 2018
586 #define ERRORDURINGSWAPING 2019
587 #define BINARYEXPORTNOTSUPPORTEDFOROBJECT 2020
588 #define BINARYIMPORTNOTSUPPORTEDFOROBJECT 2021
589 #define OPERANDSRESULTTYPESNOMATCH 2022
590 #define TRYINGTOINFERHOOKFROMNULLNODE 2023
591 #define QTNODETYPEPARENTDOESNOTEXIST 2024
593 #include "raslib/error.icc"