in src/framework/exceptions.cpp [576:657]
void translation_func( unsigned int u, _EXCEPTION_POINTERS* pExp ) {
const char * cpszMsg = NULL;
switch (u) {
case EXCEPTION_ACCESS_VIOLATION:
cpszMsg ="\"ACCESS VIOLATION\"";
break;
case EXCEPTION_DATATYPE_MISALIGNMENT:
cpszMsg ="\"DATATYPE MISALIGNMENT\"";
break;
case EXCEPTION_BREAKPOINT:
cpszMsg ="\"BREAKPOINT\"";
break;
case EXCEPTION_SINGLE_STEP:
cpszMsg ="\"SINGLE STEP\"";
break;
case EXCEPTION_ARRAY_BOUNDS_EXCEEDED:
cpszMsg ="\"ARRAY BOUNDS EXCEEDED\"";
break;
case EXCEPTION_FLT_DENORMAL_OPERAND:
cpszMsg ="\"FLT DENORMAL OPERAND\"";
break;
case EXCEPTION_FLT_DIVIDE_BY_ZERO:
cpszMsg ="\"FLT DIVIDE_BY ZERO\"";
break;
case EXCEPTION_FLT_INEXACT_RESULT:
cpszMsg ="\"FLT INEXACT_RESULT\"";
break;
case EXCEPTION_FLT_INVALID_OPERATION:
cpszMsg ="\"FLT INVALID OPERATION\"";
break;
case EXCEPTION_FLT_OVERFLOW:
cpszMsg ="\"FLT OVERFLOW\"";
break;
case EXCEPTION_FLT_STACK_CHECK:
cpszMsg ="\"FLT STACK_CHECK\"";
break;
case EXCEPTION_FLT_UNDERFLOW:
cpszMsg ="\"FLT UNDERFLOW\"";
break;
case EXCEPTION_INT_DIVIDE_BY_ZERO:
cpszMsg ="\"INT DIVIDE BY ZERO\"";
break;
case EXCEPTION_INT_OVERFLOW:
cpszMsg ="\"INT OVERFLOW\"";
break;
case EXCEPTION_PRIV_INSTRUCTION:
cpszMsg ="\"PRIV INSTRUCTION\"";
break;
case EXCEPTION_IN_PAGE_ERROR:
cpszMsg ="\"IN PAGE_ERROR\"";
break;
case EXCEPTION_ILLEGAL_INSTRUCTION:
cpszMsg ="\"ILLEGAL INSTRUCTION\"";
break;
case EXCEPTION_NONCONTINUABLE_EXCEPTION:
cpszMsg ="\"NONCONTINUABLE EXCEPTION\"";
break;
case EXCEPTION_STACK_OVERFLOW:
cpszMsg ="\"STACK OVERFLOW\"";
break;
case EXCEPTION_INVALID_DISPOSITION:
cpszMsg ="\"INVALID DISPOSITION\"";
break;
case EXCEPTION_GUARD_PAGE:
cpszMsg ="\"GUARD PAGE\"";
break;
case EXCEPTION_INVALID_HANDLE:
cpszMsg ="\"INVALID HANDLE\"";
break;
case CONTROL_C_EXIT:
cpszMsg ="\"CONTROL C EXIT\"";
break;
default:
cpszMsg = "Unknows Windows C Exception";
break;
}
// throw our own type of exception so we know at least what was going on
// instead of just getting an unknown ... C++ excepition
throw ExcWinCException( ErrorMessage(UIMA_MSG_ID_EXC_WINDOWS_EXCEPTION, cpszMsg),
(TyErrorId)UIMA_ERR_ENGINE_WINDOWS_EXCEPTION,
ErrorInfo::unrecoverable);
}