Emite una excepción. La interfaz de intermediario de mensajes emite la excepción utilizando como datos de excepción los argumentos especificados.
void cciThrowExceptionW( int* returnCode, CCI_EXCEPTION_TYPE type, const char* file, int line, const char* function, const CciChar* messageSource, int messageNumber, const CciChar* traceText, ... );
Ninguno. Si se produce un error, el parámetro returnCode indica la razón del mismo.
void raiseExceptionWithBroker(CciChar* helpfulText, char* file, /* archivo de origen anómalo */ int line, /* línea en archivo anterior */ char* func /* función en archivo anterior */ ){ int rc = CCI_SUCCESS; /* Definir el nombre de catálogo de mensajes */ const char* catalog = "BIPv600"; /* Convertir el nombre de catálogo en caracteres ampliados. * BIP_DEF_COMP_CCSID es UTF-8 en distribuidos y LATIN1 en z/OS */ int maxChars = strlen(catalog)+1; CciChar* wCatalog =(CciChar*)malloc(maxChars*sizeof(CciChar)); cciMbsToUcs(&rc, catalog, wCatalog, maxChars, BIP_DEF_COMP_CCSID); /* Las líneas anteriores quizá hayan fallado, pero ya se está generando una * excepción, por lo que rc ahora se establece en satisfactorio. */ rc = CCI_SUCCESS; /* Genera la excepción. La explicación se añadirá como traceText y * como una inserción en el mensaje */ cciThrowExceptionW(&rc, CCI_FATAL_EXCEPTION, file, line, func, wCatalog, BIP2111, helpfulText, helpfulText, (CciChar*)0 ); /* Las líneas anteriores quizá hayan fallado, pero ya se está generando una * excepción, por lo que el valor de rc no es importante. */ }