
23 May
2011
23 May
'11
5:06 p.m.
On 23 May 2011 16:44, Bryce Lelbach <blelbach@cct.lsu.edu> wrote:
p.ptr is a shared_ptr to an exception_detail::clone_base. rethrow() is a pure virtual function. Therefore, there is no gurantee that rethrow() won't exit, and if it does, then rethrow_exception will exit, which could be catastrophic.
Since the class is in a detail namespace, user code shouldn't inherit from it. So as long as the user follows our conventions, we can guarantee that it exits. And if the user doesn't, it's their responsibility.