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 28 29 30
|
module throw_exception_runme;
import throw_exception.Foo;
void main() {
test!("test_int");
test!("test_msg");
test!("test_cls");
test!("test_cls_ptr");
test!("test_cls_ref");
test!("test_cls_td");
test!("test_cls_ptr_td");
test!("test_cls_ref_td");
test!("test_array");
test!("test_enum");
}
void test(char[] methodName)() {
auto foo = new Foo();
bool didntThrow;
try {
mixin("foo." ~ methodName ~ "();");
didntThrow = true;
} catch (Exception) {}
if (didntThrow) {
throw new Exception(methodName ~ " failed");
}
}
|