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
|
(* Throw exception test *)
open Swig
open Throw_exception
let x = new_Foo C_void ;;
let _ =
try
(invoke x) "test_int" C_void
with (Failure "Exception(37): Thrown exception from C++ (int)\n") ->
try
(invoke x) "test_msg" C_void
with (Failure "Exception(0): Dead\n") ->
try
(invoke x) "test_cls" C_void
with (Failure "Exception(0): Thrown exception from C++ (unknown)\n") ->
try
(invoke x) "test_multi" (C_int 1)
with (Failure "Exception(37): Thrown exception from C++ (int)\n") ->
try
(invoke x) "test_multi" (C_int 2)
with (Failure "Exception(0): Dead\n") ->
try
(invoke x) "test_multi" (C_int 3)
with (Failure "Exception(0): Thrown exception from C++ (unknown)\n") ->
exit 0
let _ = exit 1
|