cciGetLastExceptionData

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.

Inizio modifica

È 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.

Nota: Inizio modificaA meno che non venga indicato CCI_EXCEPTION, non chiamare cciGetLastExceptionData() poiché restituisce risultati imprevisti.Fine modifica
Fine modifica

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.

Sintassi

void* cciGetLastExceptionData(
  int*      returnCode,
  CCI_EXCEPTION_ST*  exception_st);

Parametri

returnCode
Riceve il codice di ritorno dalla funzione (output). I codici di ritorno possibili sono:Inizio modifica
  • CCI_INV_DATA_POINTER
  • CCI_NO_EXCEPTION_EXISTS
  • CCI_EXCEPTION
  • CCI_EXCEPTION_UNKNOWN
  • CCI_EXCEPTION_FATAL
  • CCI_EXCEPTION_RECOVERABLE
  • CCI_EXCEPTION_CONFIGURATION
  • CCI_EXCEPTION_PARSER
  • CCI_EXCEPTION_CONVERSION
  • CCI_EXCEPTION_DATABASE
  • CCI_EXCEPTION_USER
Fine modifica
Inizio modificaexception_stFine modifica
Inizio modificaSpecifica l'indirizzo di una struttura CCI_EXCEPTION_ST per ricevere i dati relativi all'ultima eccezione (output). Il valore del tipo restituito nel campo exception_st.type è uno dei seguenti:
  • CCI_EXCEPTION_ST_TYPE_EXCEPTION_BASE
  • CCI_EXCEPTION_ST_TYPE_EXCEPTION_TERMINATION
  • CCI_EXCEPTION_ST_TYPE_EXCEPTION_FATAL
  • CCI_EXCEPTION_ST_TYPE_EXCEPTION_RECOVERABLE
  • CCI_EXCEPTION_ST_TYPE_EXCEPTION_CONFIGURATION
  • CCI_EXCEPTION_ST_TYPE_EXCEPTION_PARSER
  • CCI_EXCEPTION_ST_TYPE_EXCEPTION_CONVERSION
  • CCI_EXCEPTION_ST_TYPE_EXCEPTION_DATABASE
  • CCI_EXCEPTION_ST_TYPE_EXCEPTION_USER

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.

Fine modifica

Valori di restituzione

Nessuno. Se si verifica un errore, il parametro returnCode indica il motivo dell'errore.

Esempio

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);
Informazioni particolari | Marchi | Download | Libreria | Supporto | Commenti
Copyright IBM Corporation 1999, 2006 Ultimo aggiornamento: ago 17, 2006
as08551_