source: tests/exceptions/trash.cfa

Last change on this file was 3bf9d10, checked in by Peter A. Buhr <pabuhr@…>, 10 months ago

change printf to sout

  • Property mode set to 100644
File size: 492 bytes
Line 
1// Make sure throw-catch during unwind does not trash internal data.
2
3#include <fstream.hfa>
4
5exception yin {};
6exception yang {};
7
8vtable(yin) yin_vt;
9vtable(yang) yang_vt;
10
11int main(int argc, char * argv[]) {
12        try {
13                try {
14                        throw (yin){&yin_vt};
15                } finally {
16                        try {
17                                throw (yang){&yang_vt};
18                        } catch (yin *) {
19                                sout | "inner yin";
20                        } catch (yang *) {
21                                sout | "inner yang";
22                        }
23                }
24        } catch (yin *) {
25                sout | "outer yin";
26        } catch (yang *) {
27                sout | "outer yang";
28        }
29}
Note: See TracBrowser for help on using the repository browser.