1 // Copyright (c) Microsoft. All rights reserved. 2 // Licensed under the MIT license. See LICENSE file in the project root for 3 // full license information. 4 5 #include <windows.h> 6 #include "seh.h" 7 8 char test[] = "SEH0008.c"; 9 10 void rtlRaiseStatus(DWORD Status) { 11 RaiseException(Status, 0, /*no flags*/ 0, 0); 12 return; 13 } 14 15 int main() { 16 LONG Counter; 17 18 Counter = 0; 19 20 try { 21 Counter += 1; 22 /* raise exception */ 23 RaiseException(EXCEPTION_ACCESS_VIOLATION, 0, /*no flags*/ 0, 0); 24 } 25 except((GetExceptionCode() == STATUS_ACCESS_VIOLATION) ? 1 : 0) 26 /* 27 * if correct exeception (EXECIUTE HANDLER (1) else 28 * CONTINUE SEARCH (0)). this test should execute handler 29 */ 30 { 31 Counter += 1; 32 } 33 endtry 34 35 if (Counter != 2) { 36 printf("TEST 8 FAILED. Counter = %d\n\r", Counter); 37 return -1; 38 } 39 40 return 0; 41 } 42