ReactOS 0.4.15-dev-7842-g558ab78
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 {
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 except(x)
Definition: btrfs_drv.h:136
#define NULL
Definition: types.h:112
VOID WINAPI RaiseException(_In_ DWORD dwExceptionCode, _In_ DWORD dwExceptionFlags, _In_ DWORD nNumberOfArguments, _In_opt_ const ULONG_PTR *lpArguments)
Definition: except.c:700
#define printf
Definition: freeldr.h:93
long LONG
Definition: pedump.c:60
#define endtry
Definition: seh.h:24
#define abnormal_termination
Definition: seh.h:25
static LARGE_INTEGER Counter
Definition: clock.c:43
#define EXCEPTION_INT_OVERFLOW
Definition: winbase.h:324

Variable Documentation

◆ test

char test[] = "SEH0006.c"

Definition at line 8 of file seh0006.c.