27 lines
314 B
OpenEdge ABL
27 lines
314 B
OpenEdge ABL
%module constructor_exception
|
|
|
|
%inline %{
|
|
class MyError {
|
|
};
|
|
|
|
class SomeClass {
|
|
public:
|
|
SomeClass(int x) {
|
|
if (x < 0) {
|
|
throw MyError();
|
|
}
|
|
}
|
|
};
|
|
|
|
class Test {
|
|
SomeClass o;
|
|
public:
|
|
Test(int x) try : o(x) { }
|
|
catch (MyError &) {
|
|
}
|
|
catch (int) {
|
|
}
|
|
catch (...) {
|
|
}
|
|
};
|
|
%}
|