1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
int success = 0; class Foo : Object { ~Foo() { success++; } } Foo may_fail () throws Error { return new Foo (); } void func (Foo foo) { } void main() { try { func (may_fail ()); } catch { } assert (success == 1); }