WebSphere Message Broker Version 8.0.0.5 Betriebssysteme: AIX, HP-Itanium, Linux, Solaris, Windows, z/OS

Sehen Sie sich die Informationen zur aktuellen Produktversion im IBM Integration Bus Version 9.0 an.

cciGetLastExceptionData

Diese Funktion ruft Diagnoseinformationen zur letzten generierten Ausnahmebedingung ab. Es werden Information zu der für den aktuellen Thread zuletzt generierten Ausnahmebedingung in einer CCI_EXCEPTION_ST-Ausgabestruktur zurückgegeben. Die benutzerdefinierte Erweiterung kann diese Funktion verwenden, um festzustellen, ob eine Fehlerbehebung erforderlich ist, wenn eine Dienstprogrammfunktion einen Fehlercode zurückgibt.

Diese Funktion können Sie aufrufen, wenn ein Dienstprogrammfunktions- oder Benutzerexit-Callback darauf hinweist, dass eine Ausnahmebedingung aufgetreten ist, indem Sie returnCode auf CCI_EXCEPTION setzen.

Sie dürfen cciGetLastExceptionData() nur aufrufen, wenn CCI_EXCEPTION angegeben ist; andernfalls gibt die Funktion unvorhersehbare Ergebnisse zurück.

Der Tracetext, der zur Ausnahmebedingung gehört, wird in char* umgewandelt, wenn char* US-ASCII ist. Wenn der Tracetext in einer anderen Sprache ist, missen Sie cciGetLastExceptionDataW und die zugehörige Struktur CCI_EXCEPTION_WIDE_ST verwenden, die den Tracetext im UTF-16-Format speichert.

Wenn die Ausnahmebedingung vom Broker oder von cciThrowExceptionW ausgegeben wurde, ist das Element traceText der Struktur CCI_EXCEPTION_ST eine leere Zeichenfolge.

Syntax

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

Parameter

returnCode
Empfängt den Rückkehrcode von der Funktion (Ausgabe). Mögliche Rückkehrcodes sind:
  • 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
exception_st
Gibt die Adresse einer CCI_EXCEPTION_ST-Struktur an, die Daten zur letzten Ausnahmebedingung empfangen soll (Ausgabe). Bei dem Typwert, der in den niedrigen vier Bits des Felds exception_st.type zurückgegeben wird, handelt es sich um einen der folgenden Typwerte:
  • 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

Der Wert, der im Feld exception_st.messageNumber für Ausnahmen zurückgegeben wurde, die zu einer BIP-Ausnahmebedingungsnachricht führen, enthält die Nachrichtenstufe in den höheren Bytes und die BIP-Nachrichtennummer in den niedrigeren vier Bytes.

Rückgabewerte

Keine. Wenn ein Fehler auftritt, gibt der Parameter returnCode die Fehlerursache an.

Beispiel

typedef struct exception_st {
  int               versionId;     /* Versionskennung der Struktur */
  int               type;          /* Typ der Ausnahmebedingung */
  int               messageNumber; /* Nachrichtennummer */
  int               insertCount;   /* Anzahl an Nachrichteneinsätzen */
  CCI_STRING_ST     inserts[CCI_MAX_EXCEPTION_INSERTS];  
                                   /* Array der Nachrichtenimplementierungsbereiche */
  const char*       fileName;      /* Quelle: Dateiname */
  int               lineNumber;    /* Quelle: Zeilennummer in der Datei */
  const char*       functionName;  /* Quelle: Funktionsname */
  const char*       traceText;     /* Zur Ausnahmebedingung zugehöriger Tracetext */
  CCI_STRING_ST     objectName;    /* Objektname */
  CCI_STRING_ST     objectType;    /* Objekttyp */
} CCI_EXCEPTION_ST;
char msgnumTypeStr[64];


CCI_EXCEPTION_ST exception_st = malloc(sizeof(CCI_EXCEPTION_ST));
int                rc = 0;
memset(&exception_st,0,sizeof(exception_st));
cciGetLastExceptionData(&rc, &exception_st);
sprintf(msgnumTypeStr, "MsgNum: %d Type: %d", 
(exception_st.messageNumber & 0x0ffff),
(exception_st.type & 0x0f));
Bemerkungen | Marken | Downloads | Bibliothek | Support | Feedback

Copyright IBM Corporation 1999, 2014Copyright IBM Corporation 1999, 2014.

        
        Letzte Aktualisierung:
        
        Letzte Aktualisierung: 2015-02-28 16:22:04


ReferenzthemaReferenzthema | Version 8.0.0.5 | as08551_