libobjc2 used Vectored Exception Handlers to catch uncaught exceptions on mingw. This implementation is too greedy, and invokes `_objc_unexpected_exception` for (certain) exceptions which would be handled by the application itself.
This patch `_Unwind_RaiseException` to throw exceptions instead of `__cxa_throw`, allowing us to process unhandled exceptions.
Upstream PR: https://github.com/gnustep/libobjc2/pull/278