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.

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: A menos que CCI_EXCEPTION seja indicado, você não deve chamar cciGetLastExceptionDataW() já que retorna resultados imprevisíveis.

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:
  • 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
exception_st
Especifica 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.

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

Copyright IBM Corporation 1999, 2009Copyright IBM Corporation 1999, 2009.
Última atualização : 2009-02-13 16:13:12

as24620_