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[] = "SEH0046.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     Counter += 100;
21     break;
22   case 1:
23     try {
24       try {
25         if ((Index1 & 0x1) == 1) {
26           /* break out of switchy stmt. */
27           break;
28         } else {
29           Counter += 1;
30         }
31       }
32       except(1) {
33         /* no exception occurs, never gets here */
34         Counter += 10;
35       }
36       endtry
37       /* "break" keeps you from getting here */
38       Counter += 2;
39     }
40     except(1) {
41       /* no exception occurs, never gets here */
42       Counter += 20;
43     }
44     endtry
45     /* "break" keeps you from getting here */
46     Counter += 3;
47   }
48 
49   if (Counter != 0) {
50     printf("TEST 46 FAILED. Counter = %d\n\r", Counter);
51     return -1;
52   }
53 
54   return 0;
55 }
56