1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85
|
#include "GetExceptionCode.h"
/* Allan CORNET */
/* INRIA 2005 */
#include <string.h>
/*-----------------------------------------------------------------------------------*/
char *GetExceptionString(DWORD ExceptionCode)
{
char *StringOuput=(char *)MALLOC((strlen("EXCEPTION_NONCONTINUABLE_EXCEPTION")+1)*sizeof(char));
switch (ExceptionCode)
{
case EXCEPTION_ACCESS_VIOLATION:
wsprintf(StringOuput,"%s","EXCEPTION_ACCESS_VIOLATION");
break;
case EXCEPTION_DATATYPE_MISALIGNMENT:
wsprintf(StringOuput,"%s","EXCEPTION_DATATYPE_MISALIGNMENT");
break;
case EXCEPTION_ARRAY_BOUNDS_EXCEEDED:
wsprintf(StringOuput,"%s","EXCEPTION_ARRAY_BOUNDS_EXCEEDED");
break;
case EXCEPTION_IN_PAGE_ERROR:
wsprintf(StringOuput,"%s","EXCEPTION_IN_PAGE_ERROR");
break;
case EXCEPTION_GUARD_PAGE:
wsprintf(StringOuput,"%s","EXCEPTION_GUARD_PAGE");
break;
case EXCEPTION_STACK_OVERFLOW:
wsprintf(StringOuput,"%s","EXCEPTION_STACK_OVERFLOW");
break;
case EXCEPTION_ILLEGAL_INSTRUCTION:
wsprintf(StringOuput,"%s","EXCEPTION_ILLEGAL_INSTRUCTION");
break;
case EXCEPTION_PRIV_INSTRUCTION:
wsprintf(StringOuput,"%s","EXCEPTION_PRIV_INSTRUCTION");
break;
case EXCEPTION_INVALID_DISPOSITION:
wsprintf(StringOuput,"%s","EXCEPTION_INVALID_DISPOSITION");
break;
case EXCEPTION_NONCONTINUABLE_EXCEPTION:
wsprintf(StringOuput,"%s","EXCEPTION_NONCONTINUABLE_EXCEPTION");
break;
case EXCEPTION_BREAKPOINT:
wsprintf(StringOuput,"%s","EXCEPTION_BREAKPOINT");
break;
case EXCEPTION_SINGLE_STEP:
wsprintf(StringOuput,"%s","EXCEPTION_SINGLE_STEP");
break;
case EXCEPTION_INVALID_HANDLE:
wsprintf(StringOuput,"%s","EXCEPTION_INVALID_HANDLE");
break;
case EXCEPTION_INT_DIVIDE_BY_ZERO:
wsprintf(StringOuput,"%s","EXCEPTION_INT_DIVIDE_BY_ZERO");
break;
case EXCEPTION_INT_OVERFLOW:
wsprintf(StringOuput,"%s","EXCEPTION_INT_OVERFLOW");
break;
case EXCEPTION_FLT_DENORMAL_OPERAND:
wsprintf(StringOuput,"%s","EXCEPTION_FLT_DENORMAL_OPERAND");
break;
case EXCEPTION_FLT_DIVIDE_BY_ZERO:
wsprintf(StringOuput,"%s","EXCEPTION_FLT_DIVIDE_BY_ZERO");
break;
case EXCEPTION_FLT_INEXACT_RESULT:
wsprintf(StringOuput,"%s","EXCEPTION_FLT_INEXACT_RESULT");
break;
case EXCEPTION_FLT_INVALID_OPERATION:
wsprintf(StringOuput,"%s","EXCEPTION_FLT_INVALID_OPERATION");
break;
case EXCEPTION_FLT_OVERFLOW:
wsprintf(StringOuput,"%s","EXCEPTION_FLT_OVERFLOW");
break;
case EXCEPTION_FLT_STACK_CHECK:
wsprintf(StringOuput,"%s","EXCEPTION_FLT_STACK_CHECK");
break;
case EXCEPTION_FLT_UNDERFLOW:
wsprintf(StringOuput,"%s","EXCEPTION_FLT_UNDERFLOW");
break;
default:
wsprintf(StringOuput,"%s","unknown exception");
break;
}
return StringOuput;
}
/*-----------------------------------------------------------------------------------*/
|