Changes in tests/exceptions/interact.cfa [ecfd758:046a890]
- File:
-
- 1 edited
-
tests/exceptions/interact.cfa (modified) (8 diffs)
Legend:
- Unmodified
- Added
- Removed
-
tests/exceptions/interact.cfa
recfd758 r046a890 4 4 #include "except-io.hfa" 5 5 6 EHM_EXCEPTION(star)(); 7 EHM_EXCEPTION(moon)(); 8 9 EHM_VIRTUAL_TABLE(star, star_vt); 10 EHM_VIRTUAL_TABLE(moon, moon_vt); 6 TRIVIAL_EXCEPTION(star); 7 TRIVIAL_EXCEPTION(moon); 11 8 12 9 int main(int argc, char * argv[]) { 13 10 // Resume falls back to terminate. 14 11 try { 15 throwResume (star){ &star_vt};12 throwResume (star){}; 16 13 } catch (star *) { 17 14 printf("caught as termination\n"); … … 20 17 try { 21 18 loud_region a = "try block with resume throw"; 22 throwResume (star){ &star_vt};19 throwResume (star){}; 23 20 } catch (star *) { 24 21 printf("caught as termination\n"); … … 32 29 try { 33 30 try { 34 throw (star){ &star_vt};31 throw (star){}; 35 32 } catchResume (star *) { 36 33 printf("resume catch on terminate\n"); … … 46 43 try { 47 44 try { 48 throwResume (star){ &star_vt};45 throwResume (star){}; 49 46 } catch (star *) { 50 47 printf("terminate catch on resume\n"); … … 61 58 try { 62 59 try { 63 throw (star){ &star_vt};60 throw (star){}; 64 61 } catchResume (star *) { 65 62 printf("inner resume catch (error)\n"); … … 78 75 try { 79 76 try { 80 throwResume (star){ &star_vt};77 throwResume (star){}; 81 78 } catch (star *) { 82 79 printf("inner termination catch\n"); … … 97 94 try { 98 95 printf("throwing resume moon\n"); 99 throwResume (moon){ &moon_vt};96 throwResume (moon){}; 100 97 } catch (star *) { 101 98 printf("termination catch\n"); 102 99 } 103 100 printf("throwing resume star\n"); 104 throwResume (star){ &star_vt};101 throwResume (star){}; 105 102 } catchResume (star *) { 106 103 printf("resumption star catch\n"); … … 108 105 } catchResume (moon *) { 109 106 printf("resumption moon catch, will terminate\n"); 110 throw (star){ &star_vt};107 throw (star){}; 111 108 } 112 109 } catchResume (star *) {
Note:
See TracChangeset
for help on using the changeset viewer.