Looks like we're going to have to use boost::exception_ptr instead of the standard one :(