source: tests/exceptions/trash.cfa@ 68cf1d4

Last change on this file since 68cf1d4 was 3bf9d10, checked in by Peter A. Buhr <pabuhr@…>, 2 years ago

change printf to sout

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