ReactOS  0.4.15-dev-5112-g22d8c0f
seh0006.c File Reference
#include <windows.h>
#include "seh.h"
Include dependency graph for seh0006.c:

Go to the source code of this file.

Functions

int main ()
 

Variables

char test [] = "SEH0006.c"
 

Function Documentation

◆ main()

int main ( void  )

Definition at line 10 of file seh0006.c.

10  {
11  LONG Counter;
12 
13  Counter = 0;
14 
15  try {
16  try {
17  Counter += 1;
18  RaiseException(EXCEPTION_INT_OVERFLOW, 0, /* no flags */
19  0, NULL);
20  // RtlRaiseException(&ExceptionRecord);
21  }
22  finally {
23  if (abnormal_termination() != 0)
24  /*
25  * an exception is not an abnormal termination
26  * therefore thi should get executed
27  */
28  {
29  Counter += 1;
30  }
31  }
32  endtry
33  }
35  /* counter should equal "EXECUTE HANDLER" */
36  {
37  if (Counter == 2)
38  /*
39  * counter should equal two and therefore
40  * execute this code
41  */
42  {
43  Counter += 1;
44  }
45  }
46  endtry
47 
48  if (Counter != 3) {
49  printf("TEST 6 FAILED. Counter = %d\n\r", Counter);
50  return -1;
51  }
52 
53  return 0;
54 }
#define endtry
Definition: seh.h:24
#define EXCEPTION_INT_OVERFLOW
Definition: winbase.h:321
long LONG
Definition: pedump.c:60
#define printf
Definition: freeldr.h:94
#define except(x)
Definition: btrfs_drv.h:136
VOID WINAPI RaiseException(IN DWORD dwExceptionCode, IN DWORD dwExceptionFlags, IN DWORD nNumberOfArguments, IN CONST ULONG_PTR *lpArguments OPTIONAL)
Definition: except.c:700
#define NULL
Definition: types.h:112
static LARGE_INTEGER Counter
Definition: clock.c:43
#define abnormal_termination
Definition: seh.h:25

Variable Documentation

◆ test

char test[] = "SEH0006.c"

Definition at line 8 of file seh0006.c.