TIBCO FTL®
|
Exceptions capture error information during FTL calls. More...
Macros | |
Error Codes | |
FTL exceptions can report these error and status codes. | |
#define | TIB_NULL_EXCEPTION ((tibErrorCode) -1) |
The program supplied NULL instead of an exception object. More... | |
#define | TIB_OK ((tibErrorCode) 0) |
The FTL call completed correctly (success) – that is, no errors occurred in executing the FTL call. The return value is reliable. More... | |
#define | TIB_INVALID_ARG ((tibErrorCode) 1) |
Invalid argument (or invalid value embedded in an argument). More... | |
#define | TIB_NO_MEMORY ((tibErrorCode) 2) |
Memory allocation failed. More... | |
#define | TIB_TIMEOUT ((tibErrorCode) 4) |
Internal timeout elapsed. More... | |
#define | TIB_NOT_INITIALIZED ((tibErrorCode) 5) |
The program has not yet called tib_Open to start FTL. More... | |
#define | TIB_OS_ERROR ((tibErrorCode) 6) |
An operating system call failed. More... | |
#define | TIB_INTR ((tibErrorCode) 7) |
Thread internal interrupt. More... | |
#define | TIB_NOT_PERMITTED ((tibErrorCode) 8) |
Invalid operation (on a valid object). More... | |
#define | TIB_NOT_FOUND ((tibErrorCode) 9) |
Cannot find a requested object. More... | |
#define | TIB_ILLEGAL_STATE ((tibErrorCode) 10) |
An action is inconsistent with internal state. More... | |
#define | TIB_NOT_SUPPORTED ((tibErrorCode) 11) |
Unsupported datatype or feature. More... | |
#define | TIB_END_OF_BUFFER ((tibErrorCode) 12) |
End of buffer while parsing an inbound message. More... | |
#define | TIB_VERSION_MISMATCH ((tibErrorCode) 13) |
Incompatible versions of FTL components. More... | |
#define | TIB_ALREADY_EXISTS ((tibErrorCode) 14) |
Conflict with an existing object, value or definition. More... | |
#define | TIB_FILE_IO_ERROR ((tibErrorCode) 15) |
I/O error. More... | |
#define | TIB_INVALID_VALUE ((tibErrorCode) 16) |
FTL internal error. More... | |
#define | TIB_INVALID_TYPE ((tibErrorCode) 17) |
Field datatype mismatch. More... | |
#define | TIB_INVALID_CONFIG ((tibErrorCode) 18) |
Invalid or contradictory property values. More... | |
#define | TIB_INVALID_FORMAT ((tibErrorCode) 19) |
The FTL client library encountered a message with an invalid format. More... | |
#define | TIB_CLIENT_SHUTDOWN ((tibErrorCode) 20) |
The program attempted an operation on an unusable realm object. More... | |
#define | TIB_RESOURCE_UNAVAILABLE ((tibErrorCode) 21) |
A resource required by the client program is unavailable. More... | |
#define | TIB_LIMIT_REACHED ((tibErrorCode) 22) |
A resource cannot accept data because it has reached a limit. More... | |
#define | TIB_FORMAT_UNAVAILABLE ((tibErrorCode) 23) |
A format required by the client program is unavailable. More... | |
#define | TIB_EXCEPTION ((tibErrorCode) 100) |
Unclassified exception. More... | |
#define | TIB_UNKNOWN_SYSPROP ((tibErrorCode) 101) |
The client detected a corrupted message during reassembly. More... | |
Realm Service Error Codes | |
These exceptions occur primarily within the realm service. | |
#define | TIB_RS_UNKNOWN_ERROR ((tibErrorCode) 1000) |
Internal error. More... | |
#define | TIB_RS_INVALID_SESSION_USER ((tibErrorCode) 1001) |
A client program or administrative utility supplied invalid authentication credentials. More... | |
#define | TIB_RS_UNKNOWN_OPERATION_CODE ((tibErrorCode) 1002) |
An administrative utility sent an invalid command. More... | |
#define | TIB_RS_INTERNAL_SERVER_ERROR ((tibErrorCode) 1003) |
Internal error. More... | |
#define | TIB_RS_PROTOCOL_MISMATCH ((tibErrorCode) 1004) |
The communication protocol between the realm service and its clients has changed. More... | |
#define | TIB_RS_MISSING_PROTOCOL ((tibErrorCode) 1005) |
A client or utility omitted the protocol version from its intial handshake message. More... | |
#define | TIB_RS_MISSING_CLIENT_ID ((tibErrorCode) 1006) |
A client or utility omitted its client identifier from a protocol message. More... | |
#define | TIB_RS_KEY_NOT_FOUND ((tibErrorCode) 1007) |
A client requested a value that is not in the database. More... | |
#define | TIB_RS_SERVER_ISNT_PAUSED ((tibErrorCode) 1008) |
The server must be paused before attempting this operation. More... | |
#define | TIB_RS_SERVER_IS_READONLY ((tibErrorCode) 1009) |
The server is in a read-only state, so it cannot accept configuration changes. More... | |
#define | TIB_RS_SERVER_IS_SHUTTING_DOWN ((tibErrorCode) 1010) |
The server does not accept requests during its exit sequence. More... | |
#define | TIB_RS_SERVER_IS_STARTING_UP ((tibErrorCode) 1011) |
The server cannot accept requests until it completes its initialization sequence. More... | |
#define | TIB_RS_DB_GENERATION_MISMATCH ((tibErrorCode) 1012) |
Fault-tolerant servers have different generations of the realm configuration. More... | |
#define | TIB_RS_INVALID_STATE ((tibErrorCode) 1013) |
The server is in the wrong state for the requested operation. More... | |
#define | TIB_RS_INVALID_MODE ((tibErrorCode) 1014) |
The server cannot resume in the requested mode. More... | |
#define | TIB_RS_ADMIN_OPERATION_FAILED ((tibErrorCode) 1015) |
The requested administrative operation failed. More... | |
#define | TIB_RS_UPDATE_IN_PROGRESS ((tibErrorCode) 1016) |
Clients cannot connect while an update is in progress. Try to connect again after the update is complete. More... | |
#define | TIB_RS_INCOMPATIBLE_CLIENT ((tibErrorCode) 1018) |
Client version is not compatible with configuration. More... | |
Typedefs | |
typedef int | tibErrorCode |
typedef struct tibExStruct * | tibEx |
Functions | |
TIB_IMPORT void | tibEx_Clear (tibEx e) |
Clear an exception object. More... | |
TIB_IMPORT tibEx | tibEx_Create (void) |
Create an exception object. More... | |
TIB_IMPORT void | tibEx_Destroy (tibEx e) |
Destroy an exception object. More... | |
TIB_IMPORT tibErrorCode | tibEx_GetErrorCode (tibEx e) |
Get the error code from an exception object. More... | |
TIB_IMPORT const char * | tibEx_GetSummaryString (tibEx e) |
Get the summary string from an exception object. More... | |
TIB_IMPORT int | tibEx_ToString (tibEx e, char *buffer, int buflen) |
Get the detailed description of an exception object. More... | |
Exceptions capture error information during FTL calls.
This file defines FTL exception objects, calls that manipulate them, and the error codes that can appear within them.
#define TIB_ALREADY_EXISTS ((tibErrorCode) 14) |
Conflict with an existing object, value or definition.
Common Diagnoses:
#define TIB_CLIENT_SHUTDOWN ((tibErrorCode) 20) |
The program attempted an operation on an unusable realm object.
Common Diagnoses:
#define TIB_END_OF_BUFFER ((tibErrorCode) 12) |
End of buffer while parsing an inbound message.
Common Diagnoses:
#define TIB_EXCEPTION ((tibErrorCode) 100) |
Unclassified exception.
#define TIB_FILE_IO_ERROR ((tibErrorCode) 15) |
I/O error.
Common Diagnoses:
#define TIB_FORMAT_UNAVAILABLE ((tibErrorCode) 23) |
A format required by the client program is unavailable.
Common Diagnoses:
#define TIB_ILLEGAL_STATE ((tibErrorCode) 10) |
An action is inconsistent with internal state.
Common Diagnoses:
#define TIB_INTR ((tibErrorCode) 7) |
Thread internal interrupt.
#define TIB_INVALID_ARG ((tibErrorCode) 1) |
Invalid argument (or invalid value embedded in an argument).
Common Diagnoses:
NULL
argument (where NULL
is not acceptable).#define TIB_INVALID_CONFIG ((tibErrorCode) 18) |
Invalid or contradictory property values.
Common Diagnoses:
#define TIB_INVALID_FORMAT ((tibErrorCode) 19) |
The FTL client library encountered a message with an invalid format.
Common Diagnoses:
#define TIB_INVALID_TYPE ((tibErrorCode) 17) |
Field datatype mismatch.
Common Diagnoses:
#define TIB_INVALID_VALUE ((tibErrorCode) 16) |
FTL internal error.
Common Diagnoses:
#define TIB_LIMIT_REACHED ((tibErrorCode) 22) |
A resource cannot accept data because it has reached a limit.
Common Diagnoses:
#define TIB_NO_MEMORY ((tibErrorCode) 2) |
Memory allocation failed.
#define TIB_NOT_FOUND ((tibErrorCode) 9) |
Cannot find a requested object.
Common Diagnoses:
#define TIB_NOT_INITIALIZED ((tibErrorCode) 5) |
The program has not yet called tib_Open to start FTL.
#define TIB_NOT_PERMITTED ((tibErrorCode) 8) |
Invalid operation (on a valid object).
Common Diagnoses:
#define TIB_NOT_SUPPORTED ((tibErrorCode) 11) |
Unsupported datatype or feature.
Common Diagnoses:
#define TIB_NULL_EXCEPTION ((tibErrorCode) -1) |
The program supplied NULL
instead of an exception object.
Some calls require an actual exception object.
Other calls allow NULL
as a special value.
#define TIB_OK ((tibErrorCode) 0) |
The FTL call completed correctly (success) – that is, no errors occurred in executing the FTL call. The return value is reliable.
#define TIB_OS_ERROR ((tibErrorCode) 6) |
An operating system call failed.
Common Diagnoses:
#define TIB_RESOURCE_UNAVAILABLE ((tibErrorCode) 21) |
A resource required by the client program is unavailable.
Common Diagnoses:
#define TIB_RS_ADMIN_OPERATION_FAILED ((tibErrorCode) 1015) |
The requested administrative operation failed.
#define TIB_RS_DB_GENERATION_MISMATCH ((tibErrorCode) 1012) |
Fault-tolerant servers have different generations of the realm configuration.
#define TIB_RS_INCOMPATIBLE_CLIENT ((tibErrorCode) 1018) |
Client version is not compatible with configuration.
#define TIB_RS_INTERNAL_SERVER_ERROR ((tibErrorCode) 1003) |
Internal error.
Review the server log for details.
#define TIB_RS_INVALID_MODE ((tibErrorCode) 1014) |
The server cannot resume in the requested mode.
#define TIB_RS_INVALID_SESSION_USER ((tibErrorCode) 1001) |
A client program or administrative utility supplied invalid authentication credentials.
#define TIB_RS_INVALID_STATE ((tibErrorCode) 1013) |
The server is in the wrong state for the requested operation.
#define TIB_RS_KEY_NOT_FOUND ((tibErrorCode) 1007) |
A client requested a value that is not in the database.
#define TIB_RS_MISSING_CLIENT_ID ((tibErrorCode) 1006) |
A client or utility omitted its client identifier from a protocol message.
#define TIB_RS_MISSING_PROTOCOL ((tibErrorCode) 1005) |
A client or utility omitted the protocol version from its intial handshake message.
#define TIB_RS_PROTOCOL_MISMATCH ((tibErrorCode) 1004) |
The communication protocol between the realm service and its clients has changed.
Common Diagnoses:
#define TIB_RS_SERVER_IS_READONLY ((tibErrorCode) 1009) |
The server is in a read-only state, so it cannot accept configuration changes.
#define TIB_RS_SERVER_IS_SHUTTING_DOWN ((tibErrorCode) 1010) |
The server does not accept requests during its exit sequence.
#define TIB_RS_SERVER_IS_STARTING_UP ((tibErrorCode) 1011) |
The server cannot accept requests until it completes its initialization sequence.
#define TIB_RS_SERVER_ISNT_PAUSED ((tibErrorCode) 1008) |
The server must be paused before attempting this operation.
#define TIB_RS_UNKNOWN_ERROR ((tibErrorCode) 1000) |
Internal error.
#define TIB_RS_UNKNOWN_OPERATION_CODE ((tibErrorCode) 1002) |
An administrative utility sent an invalid command.
Common Diagnoses:
#define TIB_RS_UPDATE_IN_PROGRESS ((tibErrorCode) 1016) |
Clients cannot connect while an update is in progress. Try to connect again after the update is complete.
#define TIB_TIMEOUT ((tibErrorCode) 4) |
Internal timeout elapsed.
Common Diagnoses:
#define TIB_UNKNOWN_SYSPROP ((tibErrorCode) 101) |
The client detected a corrupted message during reassembly.
#define TIB_VERSION_MISMATCH ((tibErrorCode) 13) |
Incompatible versions of FTL components.
Common Diagnoses:
typedef int tibErrorCode |
typedef struct tibExStruct* tibEx |
TIB_IMPORT void tibEx_Clear | ( | tibEx | e | ) |
Clear an exception object.
When an FTL call receives an exception argument that already indicates an error, the call returns immediately. That is, the call has no effect, and the exception's error code remains unchanged.
Your code can clear an exception before passing it to another FTL call, so that call can operate correctly.
e | The call clears this exception object. |
TIB_IMPORT tibEx tibEx_Create | ( | void | ) |
Create an exception object.
An exception object captures information about failures within FTL API calls.
A program creates an exception object.
The program passes a cleared exception object as the first parameter to an FTL call.
The FTL call stores a return code in the exception object before the call returns.
The program must check the return code before using any return value or output parameter from the call. If the code represents an error (that is, any code other than TIB_OK), then values from the call are unreliable.
When an FTL call receives an exception argument that already indicates an error, the call returns immediately. That is, the call has no effect, and the exception's error code remains unchanged.
To clear an exception's error code (so that calls that receive it can operate correctly), use tibEx_Clear.
Exception objects are not thread-safe. Programs must not access an exception object simultaneously from different threads.
TIB_IMPORT void tibEx_Destroy | ( | tibEx | e | ) |
Destroy an exception object.
e | The call destroys this exception object. |
TIB_IMPORT tibErrorCode tibEx_GetErrorCode | ( | tibEx | e | ) |
Get the error code from an exception object.
TIB_OK indicates that the call returned correctly.
If the exception is NULL
, this call returns TIB_NULL_EXCEPTION
, indicating that your program erroneously passed NULL
as the exception argument (instead of an actual exception object).
e | The call returns the error code from this exception object. |
TIB_IMPORT const char* tibEx_GetSummaryString | ( | tibEx | e | ) |
Get the summary string from an exception object.
This call returns a brief NULL-terminated string that describes the exception object's error code.
e | The call gets the summary string from this exception object. |
TIB_IMPORT int tibEx_ToString | ( | tibEx | e, |
char * | buffer, | ||
int | buflen | ||
) |
Get the detailed description of an exception object.
Programs can output this description to end users, administrators or log files.
The description string includes this information:
If a program passes NULL
as the buffer argument, this call returns the length of the description string, without actually writing it.
If the non-null buffer is too short for the entire description string, the call writes to the end of the buffer, truncating the string, and returns the actual number of bytes in the buffer.
e | The call returns a string corresponding to this exception object. |
buffer | The program supplies a string location, into which the call stores the description. We recommend a buffer of at least 2 kilobytes. |
buflen | The program supplies the length of the buffer (in bytes). |
NULL
character.