summaryrefslogtreecommitdiff
path: root/Examples/test-suite/constructor_exception.i
blob: 4c867c14428af978b7f2a14b49324b491fe4e293 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
%module constructor_exception

%inline %{
class Error {
};

class SomeClass {
public:
   SomeClass(int x) {
       if (x < 0) {
           throw Error();
       }
   }
};

class Test {
  SomeClass o;
public:
  Test(int x) try : o(x) { }
  catch (Error &) {
  } 
  catch (int) {
  }
  catch (...) {
  }
};
%}