ExceptionMessage.c File Reference

#include "MALLOC.h"
#include "GetExceptionCode.h"
#include "ExceptionMessage.h"
#include "sciprint.h"

Include dependency graph for ExceptionMessage.c:

Go to the source code of this file.

Functions

char * GetExceptionString (DWORD ExceptionCode)
void ExceptionMessage (DWORD ExceptionCode, char *functionname)


Function Documentation

void ExceptionMessage ( DWORD  ExceptionCode,
char *  functionname 
)

Definition at line 12 of file ExceptionMessage.c.

References FREE, GetExceptionString(), NULL, and sciprint().

Referenced by gw_arnoldi(), gw_boolean(), gw_cacsd0(), gw_cacsd1(), gw_cacsd2(), gw_cacsd3(), gw_core(), gw_cscicos(), gw_differential_equations1(), gw_differential_equations2(), gw_differential_equations3(), gw_differential_equations4(), gw_differential_equations5(), gw_differential_equations6(), gw_elementaries_functions(), gw_fftw(), gw_fileio(), gw_graphics(), gw_gui(), gw_integer(), gw_interpolation(), gw_io(), gw_linear_algebra(), gw_localization(), gw_metanet(), gw_optim(), gw_polynomials(), gw_pvm(), gw_randlib(), gw_scicos(), gw_signal(), gw_sound(), gw_sparse(), gw_special_functions1(), gw_special_functions2(), gw_statistics(), gw_symbolic(), gw_tclsci(), gw_time(), gw_wintools(), gwdatastructures1(), gwdatastructures2(), realmain(), and userlk().

00013 {
00014         char *ExceptionString=GetExceptionString(ExceptionCode);
00015         if (functionname)
00016         {
00017                 sciprint("Warning !!!\nScilab has found a critical error (%s)\nwith \"%s\" function.\nSave your data and restart Scilab.\n",ExceptionString,functionname);
00018         }
00019         else
00020         {
00021                 sciprint("Warning !!!\nScilab has found a critical error (%s).\nSave your data and restart Scilab.\n",ExceptionString);
00022         }
00023         if (ExceptionString) {FREE(ExceptionString);ExceptionString=NULL;}
00024 }

Here is the call graph for this function:

Here is the caller graph for this function:

char* GetExceptionString ( DWORD  ExceptionCode  ) 

Definition at line 6 of file GetExceptionCode.c.

References MALLOC.

00007 {
00008         char *StringOuput=(char *)MALLOC((strlen("EXCEPTION_NONCONTINUABLE_EXCEPTION")+1)*sizeof(char));
00009                 
00010         switch (ExceptionCode) 
00011         {
00012                 case EXCEPTION_ACCESS_VIOLATION:
00013                         wsprintf(StringOuput,"%s","EXCEPTION_ACCESS_VIOLATION");
00014                 break;
00015                 case EXCEPTION_DATATYPE_MISALIGNMENT:
00016                         wsprintf(StringOuput,"%s","EXCEPTION_DATATYPE_MISALIGNMENT");
00017                 break;                  
00018                 case EXCEPTION_ARRAY_BOUNDS_EXCEEDED:
00019                         wsprintf(StringOuput,"%s","EXCEPTION_ARRAY_BOUNDS_EXCEEDED");
00020                 break;                  
00021                 case EXCEPTION_IN_PAGE_ERROR:
00022                         wsprintf(StringOuput,"%s","EXCEPTION_IN_PAGE_ERROR");
00023                 break;                  
00024                 case EXCEPTION_GUARD_PAGE:
00025                         wsprintf(StringOuput,"%s","EXCEPTION_GUARD_PAGE");
00026                         break;
00027                 case EXCEPTION_STACK_OVERFLOW:
00028                         wsprintf(StringOuput,"%s","EXCEPTION_STACK_OVERFLOW");
00029                 break;                  
00030                 case EXCEPTION_ILLEGAL_INSTRUCTION:
00031                         wsprintf(StringOuput,"%s","EXCEPTION_ILLEGAL_INSTRUCTION");
00032                 break;                  
00033                 case EXCEPTION_PRIV_INSTRUCTION:
00034                         wsprintf(StringOuput,"%s","EXCEPTION_PRIV_INSTRUCTION");
00035                 break;                  
00036                 case EXCEPTION_INVALID_DISPOSITION:
00037                         wsprintf(StringOuput,"%s","EXCEPTION_INVALID_DISPOSITION");
00038                 break;                  
00039                 case EXCEPTION_NONCONTINUABLE_EXCEPTION:
00040                         wsprintf(StringOuput,"%s","EXCEPTION_NONCONTINUABLE_EXCEPTION");
00041                 break;                  
00042                 case EXCEPTION_BREAKPOINT:
00043                         wsprintf(StringOuput,"%s","EXCEPTION_BREAKPOINT");
00044                 break;                  
00045                 case EXCEPTION_SINGLE_STEP:
00046                         wsprintf(StringOuput,"%s","EXCEPTION_SINGLE_STEP");
00047                 break;                  
00048                 case EXCEPTION_INVALID_HANDLE:
00049                         wsprintf(StringOuput,"%s","EXCEPTION_INVALID_HANDLE");
00050                 break;                  
00051                 case EXCEPTION_INT_DIVIDE_BY_ZERO:
00052                         wsprintf(StringOuput,"%s","EXCEPTION_INT_DIVIDE_BY_ZERO");
00053                 break;                  
00054                 case EXCEPTION_INT_OVERFLOW:
00055                         wsprintf(StringOuput,"%s","EXCEPTION_INT_OVERFLOW");
00056                 break;                  
00057                 case EXCEPTION_FLT_DENORMAL_OPERAND:
00058                         wsprintf(StringOuput,"%s","EXCEPTION_FLT_DENORMAL_OPERAND");
00059                 break;                  
00060                 case EXCEPTION_FLT_DIVIDE_BY_ZERO:
00061                         wsprintf(StringOuput,"%s","EXCEPTION_FLT_DIVIDE_BY_ZERO");
00062                 break;                  
00063                 case EXCEPTION_FLT_INEXACT_RESULT:
00064                         wsprintf(StringOuput,"%s","EXCEPTION_FLT_INEXACT_RESULT");
00065                 break;                  
00066                 case EXCEPTION_FLT_INVALID_OPERATION:
00067                         wsprintf(StringOuput,"%s","EXCEPTION_FLT_INVALID_OPERATION");
00068                 break;                  
00069                 case EXCEPTION_FLT_OVERFLOW:
00070                         wsprintf(StringOuput,"%s","EXCEPTION_FLT_OVERFLOW");
00071                 break;                  
00072                 case EXCEPTION_FLT_STACK_CHECK:
00073                         wsprintf(StringOuput,"%s","EXCEPTION_FLT_STACK_CHECK");
00074                 break;                  
00075                 case EXCEPTION_FLT_UNDERFLOW:
00076                         wsprintf(StringOuput,"%s","EXCEPTION_FLT_UNDERFLOW");
00077                 break;
00078                 default:
00079                 wsprintf(StringOuput,"%s","unknown exception");
00080                 break;                          
00081   }
00082 
00083         return StringOuput;
00084 }


Generated on Sun Mar 4 15:14:50 2007 for Scilab [trunk] by  doxygen 1.5.1