cciGetLastExceptionDataW

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_WIDE_ST. A extensão definida pelo usuário utiliza essa função para determinar se qualquer recuperação é requerida quando a função do utilitário retorna um código de erro.

Início da mudança

Você pode chamara essa função quando uma função de utilitário ou um retorno de chamada de saída de usuário indica que ocorreu uma exceção, configurando returnCode para CCI_EXCEPTION.

Nota: Início da mudançaA menos que CCI_EXCEPTION seja indicado, você não deve chamar cciGetLastExceptionDataW() já que retorna resultados imprevisíveis. Fim da mudança
Fim da mudança

Sintaxe

void* cciGetLastExceptionDataW(
  int*                    returnCode,
  CCI_EXCEPTION_WIDE_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:Início da mudança
  • 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
Fim da mudança
Início da mudançaexception_stFim da mudança
Início da mudançaEspecifica o endereço de uma estrutura CCI_EXCEPTION_WIDE_ST para receber dados sobre a última exceção (saída).O valor do tipo retornado no campo exception_st.type é um dos seguintes.
  • 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

O valor retornado no campo exception_st.messageNumber, para exceções resultantes em uma mensagem de exceção BIP catalogada, contém o nível da mensagem nos bytes de ordem superiores e o número da mensagem BIP nos quatro bytes inferiores.

Fim da mudança

Valores de Retorno

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

Exemplo

typedef struct exception_wide_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 */
  CCI_STRING_ST     traceText;	    /* Texto de rastreio associado à exceção */
  CCI_STRING_ST     objectName;    /* Nome do 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);
Avisos | Marcas Registradas | Downloads | Biblioteca | Suporte | Feedback
Direitos Autorais IBM Corporation 1999, 2006 Última Atualização: 1 Sep 2006
as24620_