-
Notifications
You must be signed in to change notification settings - Fork 519
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[runtime] Adjust exception handling to always return managed exceptions if so requested. #15432
[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 tests
Html Report (VSDrops) Download ❌ mtouch tests
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).