The exception support in C++ is half-baked, it doesn't allow for exceptions that are continuable.
Specifically, there are two ways to implement an exception system: either the stack is unwound to the point of the exception handler first, losing all inferior context; or the stack is searched for a handler but not unwound. in the latter case, the handler can adjust the signaling context and then tell it to continue. This is how Xerox's Cedar Mesa exceptions worked.
Specifically, there are two ways to implement an exception system: either the stack is unwound to the point of the exception handler first, losing all inferior context; or the stack is searched for a handler but not unwound. in the latter case, the handler can adjust the signaling context and then tell it to continue. This is how Xerox's Cedar Mesa exceptions worked.