Changes in src/tests/except-1.c [e9145a3:fcc88a4]
- File:
-
- 1 edited
-
src/tests/except-1.c (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/tests/except-1.c
re9145a3 rfcc88a4 5 5 #include <stdio.h> 6 6 7 #include "except-mac.h"8 TRIVIAL_EXCEPTION(yin)9 TRIVIAL_EXCEPTION(yang)10 11 7 int main() 12 8 { 13 9 try { 14 yin a; 15 THROW(&a); 10 throw 3; 16 11 } 17 catch( yin * err) {12 catch( 3 ) { 18 13 printf("First Caught\n"); 19 14 try { 20 yang b; 21 THROW(&b); 15 throw 4; 22 16 } 23 catch( yang * err) {17 catch( 4 ) { 24 18 printf("Both Caught\n"); 25 19 } … … 29 23 try { 30 24 try { 31 yang c; 32 THROW(&c); 25 throw 2; 33 26 } 34 catch( yang * err) {27 catch( 2 ) { 35 28 printf("First Catch and rethrow\n"); 36 29 throw; 37 30 } 38 31 } 39 catch( yang * err) {32 catch( 2 ) { 40 33 printf("Second Catch\n"); 41 34 } … … 44 37 try { 45 38 try { 46 yin d; 47 THROW(&d); 39 throw 5; 48 40 } 49 catch( yin * err) {41 catch( 5 ) { 50 42 printf("Throw before cleanup\n"); 51 yang e; 52 THROW(&e); 43 throw 6; 53 44 } 54 45 } 55 catch( yang * err) {46 catch( 6 ) { 56 47 printf("Catch after cleanup\n"); 57 48 } … … 60 51 try { 61 52 try { 62 yin f; 63 THROW(&f); 53 throw 7; 64 54 } 65 catch( yin * err) {55 catch( 7 ) { 66 56 printf("Caught initial throw.\n"); 67 57 try { 68 yang g; 69 THROW(&g); 58 throw 8; 70 59 } 71 catch( yang * err) {60 catch( 8 ) { 72 61 printf("Caught intermediate throw.\n"); 73 62 } … … 75 64 } 76 65 } 77 catch( yin * err) {66 catch( 7 ) { 78 67 printf("Caught final throw.\n"); 79 68 }
Note:
See TracChangeset
for help on using the changeset viewer.