cciGetLastExceptionData

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.

Sintaxe

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

Parâmetros

returnCode
Recebe o código de retorno da função (saída).Os possíveis códigos de retorno são:
  • CCI_FATAL_EXCEPTION
  • CCI_RECOVERABLE_EXCEPTION
  • CCI_CONFIGURATION_EXCEPTION
  • CCI_PARSER_EXCEPTION
  • CCI_CONVERSION_EXCEPTION
  • CCI_DATABASE_EXCEPTION
  • CCI_USER_EXCEPTION
  • CCI_UNKNOWN_EXCEPTION
  • CCI_NO_EXCEPTION_EXISTS
  • CCI_INV_DATA_POINTER
exception_st
Especifica o endereço de uma estrutura CCI_EXCEPTION_ST para receber dados sobre a última exceção (saída).

Valores de Retorno

Nenhuma. Se ocorrer um erro, o parâmetro returnCode indica o motivo do erro.

Exemplo

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);
Conceitos relacionados
Extensões Definidas pelo Usuário
Notices | Trademarks | Downloads | Library | Support | Feedback
Copyright IBM Corporation 1999, 2006 Last updated: 5월 25, 2006
as08551_