
Two approaches:
1. Use set_unexpected.
http://www.cplusplus.com/reference/exception/set_unexpected/
2. Wrap your FFI code in try/catch.
Alexander
On Thu, Feb 13, 2014 at 12:43 PM, Nick Rudnick
Dear all,
after trying around a while this seems to be a good question for Haskell-cafe to me: Is somewhere a place (e.g. some Hackage package) where intercepting exceptions from C++ library code is done, so one can look *how* it is done?
Generally, it is the following: 1) Injecting code that throws a an exception in C++ library code, e.g.,
throw runtime_error("OOOPS...");
2) then, I tried out everything in reach (Haskell docs, Hackage interfaces to C++ considered to be well-done) to get it caught (try, catch, bracket, finally; various exception types; forkOS).
3) To my surprise, every time the output stays the same:
terminate called after throwing an instance of 'std::runtime_error' what(): OOOPS...
Is it possible at all to get a grip of this? Is there some place where it is done? Does the terminate call already happen with the C++ execution?
Any comment welcome, cheers, Nick
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe