WebSphere Message Broker, Versão 8.0.0.5 Sistemas operacionais: AIX, HP-Itanium, Linux, Solaris, Windows, z/OS

Consulte as informações sobre a versão mais recente do produto em IBM Integration Bus, Versão 9.0

cciGetLastExceptionData

Obtém informações de diagnóstico sobre a última exceção gerada. 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.

É possível chamar esta função quando uma função de utilitário ou retorno de chamada de saída de usuário indica que uma exceção ocorreu, configurando returnCode como CCI_EXCEPTION.

Você deve chamar cciGetLastExceptionData() apenas quando CCI_EXCEPTION é indicado; em outros momentos, a função retorna resultados imprevisíveis.

O traceText associado à exceção é convertido em um char*, se o char* for US-ASCII. Se traceText estiver em outra linguagem, use cciGetLastExceptionDataW e sua estrutura CCI_EXCEPTION_WIDE_ST associada, que armazena o traceText como UTF-16.

Se a exceção tiver sido levantada pelo broker, ou por 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_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_ST para receber dados sobre a última exceção (saída). O valor do tipo retornado nos quatro bits inferiores do campo exception_st.type é um dos seguintes valores de tipo:
  • 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 que resultem em uma mensagem de exceção BIP catalogada, contém o nível da mensagem nos bytes de ordem superior e o número da mensagem BIP nos quatro bytes inferiores.

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;
char msgnumTypeStr[64];


CCI_EXCEPTION_ST exception_st = malloc(sizeof(CCI_EXCEPTION_ST));
int rc = 0;
memset(&exception_st,0,sizeof(exception_st));
cciGetLastExceptionData(&rc, &exception_st);
sprintf(msgnumTypeStr, "MsgNum: %d Type: %d", 
(exception_st.messageNumber & 0x0ffff),
(exception_st.type & 0x0f));
Avisos | Marcas Registradas | Downloads | Biblioteca | Suporte | Feedback

Copyright IBM Corporation 1999, 2014Copyright IBM Corporation 1999, 2014.

        
        Última atualização:
        
        Última atualização: 2015-02-28 18:30:25


Tópico de ReferênciaTópico de Referência | Versão 8.0.0.5 | as08551_