[runtime] Adjust exception handling to always return managed exceptions if so requested.#15432
Conversation
…ns if so requested. In the following scenario: * Objective-C exception mode is to throw a managed exception. * The xamarin_process_nsexception_using_mode was given a pointer to store any resulting exceptions. * The Objective-C exception didn't already have an associated managed exception. We'd throw the managed exception upon return to managed code instead of returning the managed exception. With this change the xamarin_process_nsexception_using_mode will always return the resulting managed exception in the scenario above (this way the behavior is identical independent of whether the Objective-C exception already has an associated managed exception or not).
💻 [PR Build] Tests on macOS Mac Catalina (10.15) passed 💻✅ All tests on macOS Mac Catalina (10.15) passed. Pipeline on Agent |
✅ API diff for current PR / commitLegacy Xamarin (No breaking changes)
NET (empty diffs)
✅ API diff vs stableLegacy Xamarin (No breaking changes).NET (No breaking changes)✅ Generator diffGenerator diff is empty Pipeline on Agent |
❌ [PR Build] Tests on macOS M1 - Mac Big Sur (11.5) failed ❌Failed tests are:
Pipeline on Agent |
🔥 [CI Build] Test results 🔥Test results❌ Tests failed on VSTS: simulator tests 0 tests crashed, 5 tests failed, 218 tests passed. Failures❌ monotouch testsDetails
Html Report (VSDrops) Download ❌ mtouch testsDetails
Html Report (VSDrops) Download Successes✅ bcl: All 69 tests passed. Html Report (VSDrops) Download Pipeline on Agent |
In the following scenario:
resulting exceptions.
We'd throw the managed exception upon return to managed code instead of
returning the managed exception.
With this change the xamarin_process_nsexception_using_mode will always return
the resulting managed exception in the scenario above (this way the behavior
is identical independent of whether the Objective-C exception already has an
associated managed exception or not).