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