Obtém informações de diagnóstico sobre a última exceção gerada. As informações sobre a última exceção gerada no encadeamento atual são retornadas em uma estrutura de saída CCI_EXCEPTION_ST. A extensão definida pelo usuário pode utilizar essa função para determinar se alguma recuperação é necessária quando uma função utilitária retorna um código de erro.
Esta função pode ser chamada quando uma função utilitária tiver indicado que uma exceção ocorreu definindo returnCode como CCI_EXCEPTION.
O traceText associado à exceção será convertido em um char*, se o char* for US-ASCII. Se o traceText estiver em outro idioma, utilize cciGetLastExceptionDataW e sua estrutura CCI_EXCEPTION_WIDE_ST associada, que armazena traceText como UTF-16.
Se a exceção foi destacada pelo intermediário ou pela cciThrowExceptionW, o elemento traceText da estrutura CCI_EXCEPTION_ST será uma cadeia vazia.
typedef struct exception_st { int versionId; /* Identificação de versão de estrutura */ int type; /* Tipo de exceção */ int messageNumber; /* Número da mensagem */ int insertCount; /* Número de inserções da mensagem */ CCI_STRING_ST inserts[CCI_MAX_EXCEPTION_INSERTS]; /* Matriz de áreas de inserções de mensagens */ const char* fileName; /* Origem: nome do arquivo */ int lineNumber; /* Origem: número da linha no arquivo */ const char* functionName; /* Origem: nome da função */ const char* traceText; /* Texto de rastreio associado à exceção */ CCI_STRING_ST objectName; /* Nome do 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);