Topics
:Overview
Conditional Directives
Enumerations
Exception Classes
Functions
The database engine error functions and classes are used to catch and/or record database exceptions that occur during run-time. This implementation can be used with or without C++ built-in exception handling. If C++ exception handling is not enabled then the gxDatabaseError enumerated constants can be used to evaluate database errors.
__CPP_EXCEPTIONS__ - Directive used to enable C++ exception handling.
Integer constants used to record the last reported error condition and as return values for the database engine file functions.
enum gxDatabaseError { // Database error codes
gxDBASE_NO_ERROR = 0, // No errors reported
gxDBASE_INVALID_CODE, // Invalid error code
gxDBASE_ACCESS_VIOLATION, // Access Violation
gxDBASE_ASSERT_ERROR, // Assertion failed
gxDBASE_BAD_CLASS_ID, // Wrong object type
gxDBASE_BAD_OBJECT_ADDRESS, // Bad object address
gxDBASE_BAD_REFERENCE, // Bad Reference
gxDBASE_BLOCK_ALLOC_ERROR, // Block allocation error
gxDBASE_CACHE_FULL, // Cache full
gxDBASE_CHECKSUM_ERROR, // Checksum Error
gxDBASE_DIVIDEBY_ZERO, // Divide By Zero Error
gxDBASE_DUPLICATE_ENTRY, // Duplicate entry error
gxDBASE_ENTRY_NOT_FOUND, // Specified entry was not found
gxDBASE_EOF_ERROR, // Unexpected end of file
gxDBASE_FILE_CLOSE_ERROR, // Error closing file
gxDBASE_FILE_CORRUPT, // File corrupted
gxDBASE_FILE_CREATION_ERROR, // Error creating file
gxDBASE_FILE_EXISTS, // File already exists
gxDBASE_FILE_NOT_OPEN_ERROR, // Trying to use a closed file
gxDBASE_FILE_NOT_READY, // File not ready (failed or closed file)
gxDBASE_FILE_NOT_WRITEABLE, // Could not write to file
gxDBASE_FILE_OPEN_ERROR, // Error opening file
gxDBASE_FILE_POSITION_ERROR, // Cannot obtain the current file position
gxDBASE_FILE_READ_ERROR, // Error reading file
gxDBASE_FILE_SEEK_ERROR, // Error seeking in file
gxDBASE_FILE_WRITE_ERROR, // Error writing to file
gxDBASE_INSERTION_ERROR, // Error inserting database entry
gxDBASE_MEM_ALLOC_ERROR, // Memory allocation error
gxDBASE_NO_DATABASE_OPEN, // No database open
gxDBASE_NO_FILE_EXISTS, // No such file exists
gxDBASE_NO_OBJECTS_EXIST, // No objects exist
gxDBASE_NULL_PTR, // Accessing a null pointer
gxDBASE_OBJECT_EXISTS, // Object already exists
gxDBASE_OPEN_FILE_REFERENCE, // Another object is referencing this file
gxDBASE_OVERFLOW, // Math overflow
gxDBASE_PARSE_ERROR, // Parse error
gxDBASE_PATH_ERROR, // Invalid path
gxDBASE_READ_ONLY_FILE, // Trying to write to read-only file
gxDBASE_STACK_EMPTY, // Stack empty
gxDBASE_STACK_FULL, // Stack full
gxDBASE_SYNC_ERROR, // Synchronization Error
gxDBASE_UNDERFLOW, // Math under-flow
gxDBASE_WRONG_FILE_TYPE, // Wrong file type
// Persistent lock error codes
gxDBASE_INVALID_LOCK_TYPE, // Invalid lock type specified
gxDBASE_FILELOCK_ACCESS_ERROR, // File lock cannot be accessed
gxDBASE_FILELOCK_ERROR, // Error locking the file
gxDBASE_RECORDLOCK_ACCESS_ERROR, // Record lock cannot be accessed
gxDBASE_RECORDLOCK_ERROR // Error locking a record
};
Class declarations for exceptions representing program errors. This implementation is provided for optional use with the C++ built-in exception handling routines "try", "catch", and "throw."
gxCDatabaseException - Exception class thrown by the database engine file functions to indicate that a fatal file error condition has been reached. All database engine file calls must catch this exception and evaluate it by testing the gxDatabase internal error variable.
const char *gxDatabaseExceptionMessage(gxDatabaseError err)
- Standalone function that returns a null terminated string, which can be use to log or print a database exception message.|
End Of Document |