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_WIDE_ST. La extensión definida por el usuario utiliza esta función para determinar si se necesita una recuperación cuando una función de utilidad devuelve un código de error.
Puede invocar esta función cuando una función de programa 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 valor devuelto en el campo exception_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_wide_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 */ CCI_STRING_ST 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_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);