cciGetLastExceptionDataW

Diese Funktion ruft Diagnoseinformationen zur letzten generierten Ausnahmebedingung ab. Informationen zur zuletzt auf dem aktuellen Thread generierten Ausnahmebedingung werden in einer CCI_EXCEPTION_WIDE_ST Ausgabestruktur zurückgegeben. Die benutzerdefinierte Erweiterung verwendet diese Funktion, um festzustellen, ob eine Fehlerbehebung erforderlich ist, wenn eine Dienstprogrammfunktion einen Fehlercode zurückgibt.

Beginn der Änderung

Sie können diese Funktion aufrufen, wenn eine Dienstprogrammfunktion oder ein Benutzerexit-Callback angibt, dass eine Ausnahmebedingung aufgetreten ist, indem Sie returnCode auf 'CCI_EXCEPTION' setzen.

Anmerkung: Beginn der ÄnderungSolange 'CCI_EXCEPTION' nicht angegeben wird, dürfen Sie 'cciGetLastExceptionDataW()' nicht aufrufen, da dabei unvorhersehbare Ergebnisse zurückgegeben werden. Ende der Änderung
Ende der Änderung

Syntax

void* cciGetLastExceptionDataW(
  int*                        returnCode,
  CCI_EXCEPTION_WIDE_ST*  exception_st);

Parameters

returnCode
Empfängt den Rückkehrcode von der Funktion (Ausgabe). Mögliche Rückkehrcodes sind: Beginn der Änderung
  • 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
Ende der Änderung
Beginn der Änderungexception_stEnde der Änderung
Beginn der ÄnderungGibt die Adresse einer CCI_EXCEPTION_WIDE_ST-Struktur an, um Daten über die letzte Ausnahmebedingung zu empfangen (Ausgabe). Der Typwert, der im Feld exception_st.type zurückgegeben wurde, ist einer der Folgenden:
  • 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.

Ende der Änderung

Rückgabewerte

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

Beispiel

typedef struct exception_wide_st {
  int               versionId;	    /* Identifikation der Version der Struktur */
  int               type;          /* Typ der Ausnahme */
  int               messageNumber; /* Nachrichtennummer */
  int               insertCount;   /* Anzahl von Nachrichteneinfügungen */
  CCI_STRING_ST     inserts[CCI_MAX_EXCEPTION_INSERTS];
                                   /* Array von Nachrichteneinfügebereichen */
  const char*       fileName;	    /* Quelle: Dateiname */
  int               lineNumber;	    /* Quelle: Zeilennummer in der Datei */
  const char*       functionName;  /* Quelle: Funktionsname */
  CCI_STRING_ST     traceText;	    /* Mit der Ausnahme verbundener Trace-Text */
  CCI_STRING_ST     objectName;    /* Objektname */
  CCI_STRING_ST     objectType;    /* Objekttyp */
} 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);
Bemerkungen | Marken | Downloads | Bibliothek | Unterstützung | Rückmeldung
Copyright IBM Corporation 1999, 2006 Letzte Aktualisierung: 23. Aug. 2006
as24620_