cciThrowExceptionW

Genera un'eccezione. L'eccezione viene generata dall'interfaccia del broker dei messaggi utilizzando gli argomenti specificati come dati dell'eccezione.

Sintassi

void cciThrowExceptionW(
  int*      returnCode,
  CCI_EXCEPTION_TYPE  type,
  const char*         file,
  int           line,
  const char*         function,
  const CciChar*    messageSource,
  int           messageNumber,
  const CciChar*      traceText,
                      ...
);

Parametri

returnCode
Il codice di ritorno dalla funzione (output). Se il parametro messageSource è nullo, returnCode è impostato su CCI_INV_DATA_POINTER.
type
Il tipo dell'eccezione (input). Valori validi sono:
  • CCI_FATAL_EXCEPTION
  • CCI_RECOVERABLE_EXCEPTION
  • CCI_CONFIGURATION_EXCEPTION
  • CCI_PARSER_EXCEPTION
  • CCI_CONVERSION_EXCEPTION
  • CCI_DATABASE_EXCEPTION
  • CCI_USER_EXCEPTION
file
Il nome del file di origine dove è stata creata l'eccezione (input). Il valore è facoltativo, ma è utile ai fini dell'esecuzione del debug.
line
Il numero di riga del file di origine dove è stata creata l'eccezione (input). Il valore è facoltativo, ma è utile ai fini dell'esecuzione del debug.
function
Il nome della funzione che ha generato l'eccezione (input). Il valore è facoltativo, ma è utile ai fini dell'esecuzione del debug.
messageSource
Una stringa che identifica l'origine di messaggi Windows o il catalogo di messaggi Linux e UNIX. Per utilizzare il catalogo dei messaggi della versione WebSphere Message Broker attuale, utilizzare BIPV600 su tutti i sistemi operativi.
messageNumber
Il numero di messaggio che identifica l'eccezione (input). Se messageNumber è specificato come zero, è assunto che non è disponibile alcun messaggio. Se messageNumber è diverso da zero, il messaggio specificato è scritto nella registrazione eventi del broker con commenti forniti nell'elenco di argomenti della variabile.
traceText
Informazioni di traccia scritte nella registrazione di traccia del servizio del broker (input). Le informazioni sono facoltative, ma sono utili nell'esecuzione del debug dei problemi.
...
Un elenco di argomenti di variabili in C contenente commenti di accompagnamento al messaggio (input). Tali commenti sono gestiti come stringhe di caratteri e gli argomenti di variabili si assume siano di tipo pointer to CciChar.
Nota: l'ultimo argomento di questo elenco deve essere (Ccichar*)0.

Valori di restituzione

Nessuno. Se si verifica un errore, il parametro returnCode indica il motivo dell'errore.

Esempio

void raiseExceptionWithBroker(CciChar* helpfulText, 
                              char* file, /* il file di origine danneggiato */
                              int line,   /* riga nel file precedente */
                              char* func  /* funzione nel file precedente */
                              ){
  	int rc = CCI_SUCCESS;
  
  /* Imposta il nome del catalogo dei messaggi */
  const char* catalog = "BIPv600";
  
  /* Converte il nome del catalogo in caratteri estesi (wide). 
   * BIP_DEF_COMP_CCSID è UTF-8 su Distributed e LATIN1 su z/OS 
   */
  int maxChars =  strlen(catalog)+1;
  CciChar* wCatalog =(CciChar*)malloc(maxChars*sizeof(CciChar));
  cciMbsToUcs(&rc, catalog, wCatalog, maxChars, BIP_DEF_COMP_CCSID);

  /* Quanto riportato sopra potrebbe avere avuto esito negativo, ma è già in fase di generazione un'eccezione,
   * rc è quindi impostato ora sul tipo di esito positivo. */
  rc = CCI_SUCCESS;

  /* Genera l'eccezione. La spiegazione verrà aggiunta come traceText e
   *  come commento del messaggio 
   */
  cciThrowExceptionW(&rc,
                     CCI_FATAL_EXCEPTION,
                     file, line, func,
                     wCatalog, BIP2111,  
                     helpfulText,  
                     helpfulText,  
                     (CciChar*)0 
                     );     
  /* Quanto riportato sopra potrebbe avere avuto esito negativo, ma è già in fase di generazione un'eccezione,
   * il valore di rc non è quindi significativo. */
}
Informazioni particolari | Marchi | Download | Libreria | Supporto | Commenti
Copyright IBM Corporation 1999, 2006 Ultimo aggiornamento: ago 17, 2006
as24560_