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 <stdio.h>
6 
7 class A
8 {
9   public:
10     A(){printf("In A()\n");}
11     ~A(){printf("In ~A()\n");}
12 };
13 
14 void foo()
15 {
16     printf("Throwing\n");
17     throw 1;
18 }
19 
20 int main()
21 {
22     try{
23 	try{
24 	    A a;
25 	    foo();
26 	    goto Label;
27 	}catch(...){
28 	    printf("In first catch\nDoing new throw\n");
29 	    throw 2;
30 	    goto Label;
31 	}
32     }catch(...){
33 	printf("In outer catch\n");
34     }
35     printf("End\n");
36 Label:;
37 }
38 
39