Fornisce informazioni di diagnostica sull'ultima eccezione creata. Le informazioni relative all'ultima eccezione creata sul thread attuale vengono restituite in una struttura di output CCI_EXCEPTION_ST. L'estensione definita dall'utente può utilizzare tale funzione per determinare se è richiesto il ripristino quando una funzione di utilità restituisce un codice di errore.
È possibile chiamare questa funzione, quando una funzione di utilità o una richiamata dell'uscita utente indica che si è verificata un'eccezione, impostando returnCode su CCI_EXCEPTION.
traceText associato all'eccezione viene convertito in char* se char* è US-ASCII. Se traceText è in un'altra lingua, utilizzare cciGetLastExceptionDataW e la relativa struttura CCI_EXCEPTION_WIDE_ST associata che memorizza traceText come UTF-16.
Se l'eccezione è stata generata dal broker o da cciThrowExceptionW, l'elemento traceText della struttura CCI_EXCEPTION_ST è una stringa vuota.
Il valore restituito nel campo exception_st.messageNumber, per eccezioni che provocano un messaggio di eccezione catalogato come BIP, contiene il livello di messaggio in byte di ordine superiore e il numero del messaggio BIP nei quattro byte inferiori.
Nessuno. Se si verifica un errore, il parametro returnCode indica il motivo dell'errore.
typedef struct exception_st { int versionId; /* Identificazione versione struttura */ int type; /* Tipo di eccezione */ int messageNumber; /* Numero di messaggio */ int insertCount; /* Numero di inserimenti del messaggio */ CCI_STRING_ST inserts[CCI_MAX_EXCEPTION_INSERTS]; /* Array aree di inserimento del messaggio */ const char* fileName; /* Origine: nome file */ int lineNumber; /* Origine: numero di riga nel file */ const char* functionName; /* Origine: nome funzione */ const char* traceText; /* Testo di traccia associato all'eccezione */ CCI_STRING_ST objectName; /* Nome oggetto */ CCI_STRING_ST objectType; /* Tipo oggetto */ } CCI_EXCEPTION_ST; CCI_EXCEPTION_ST exception_st = malloc(sizeof(CCI_EXCEPTION_ST)); int rc = 0; memset(&exception_st,0,sizeof(exception_st)); cciGetLastExceptionData(&rc, &exception_st);