Obtener información de diagnóstico acerca de la última excepción generada. Se devuelve información sobre la última excepción generada en la hebra actual en una estructura de salida CCI_EXCEPTION_ST. La extensión definida por el usuario puede utilizar esta función para determinar si se necesita una recuperación cuando una función de utilidad devuelve un código de error.
Puede llamar a esta función, cuando una función de utilidad o una devolución de llamada de salida de usuario indique que se ha producido una excepción, estableciendo returnCode en CCI_EXCEPTION.
El elemento traceText asociado a la excepción se convierte en un char* si char* es US-ASCII. Si traceText está en otro idioma, utilice cciGetLastExceptionDataW y su estructura CCI_EXCEPTION_WIDE_ST asociada que almacena traceText como UTF-16.
Si la excepción la ha generado el intermediario o cciThrowExceptionW, el elemento traceText de la estructura CCI_EXCEPTION_ST es una serie vacía.
El valor devuelto en el campoexception_st.messageNumber para las excepciones que da como resultado un mensaje de excepción catalogado BIP, contiene el nivel de mensaje en los bytes de nivel superior y el número de mensaje BIP en los cuatros bytes de nivel inferior.
Ninguno. Si se produce un error, el parámetro returnCode indica la razón del mismo.
typedef struct exception_st { int versionId; /* Identificación de versión de estructura */ int type; /* Tipo de excepción */ int messageNumber; /* Número de mensaje */ int insertCount; /* Número de inserciones de mensaje */ CCI_STRING_ST inserts[CCI_MAX_EXCEPTION_INSERTS]; /* Matriz de áreas de inserciones de mensaje */ const char* fileName; /* Origen: nombre de archivo */ int lineNumber; /* Origen: número de línea en archivo */ const char* functionName; /* Origen: nombre de función */ const char* traceText; /* Texto de rastreo asociado a la excepción */ CCI_STRING_ST objectName; /* Nombre de objeto */ CCI_STRING_ST objectType; /* Tipo de objeto */ } 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);