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[] = "SEH0047.c"; 9 10 int main() { 11 ULONG Index1; 12 ULONG Index2 = 1; 13 LONG Counter; 14 15 Counter = 0; 16 Index1 = 1; 17 18 switch (Index2) { 19 case 0: 20 /* never gets here */ 21 Counter += 100; 22 break; 23 case 1: 24 try { 25 try { 26 if ((Index1 & 0x1) == 1) { 27 /* break out of switch stmt. */ 28 break; 29 } else { 30 Counter += 1; 31 } 32 } 33 finally { 34 /* set counter to 2 after "break" */ 35 Counter += 2; 36 } 37 endtry 38 Counter += 3; 39 } 40 finally { 41 /* set counter to 4 after break in nested try/finally */ 42 Counter += 4; 43 } 44 endtry 45 Counter += 5; 46 } 47 48 if (Counter != 6) { 49 printf("TEST 47 FAILED. Counter = %d\n\r", Counter); 50 return -1; 51 } 52 53 return 0; 54 } 55