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_WIDE_ST. L'estensione definita dall'utente utilizza 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.
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_wide_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 */ CCI_STRING_ST traceText; /* Testo di traccia associato all'eccezione */ CCI_STRING_ST objectName; /* Nome oggetto */ CCI_STRING_ST objectType; /* Tipo oggetto */ } CCI_EXCEPTION_WIDE_ST; CCI_EXCEPTION_WIDE_ST exception_st = malloc(sizeof(CCI_EXCEPTION_WIDE_ST)); int rc = 0; memset(&exception_st,0,sizeof(exception_st)); cciGetLastExceptionDataW(&rc, &exception_st);