有没有办法在 Xamarin.Forms 应用程序中处理全局级别的异常?
目前我的应用程序有一个登录页面,其中有一个按钮“抛出异常”按钮绑定到“Exception_Clicked”方法。
private void Exception_Clicked(object sender, EventArgs e)
{
throw new Exception("ERROR MESSAGE");
}
Run Code Online (Sandbox Code Playgroud)
我想要完成的是让应用程序管理该方法抛出的异常,而无需在每个方法中显式放置 try-catch。
目前我知道全局异常处理可以在常规的 Web 和桌面应用程序中使用如下代码处理
public static class ExceptionHandlerHelper
{
public static void Register()
{
AppDomain.CurrentDomain.FirstChanceException += (sender, eventArgs) =>
{
Console.WriteLine(eventArgs.Exception.ToString());
Logging.LogException(eventArgs.Exception, string.Empty);
};
}
}
Run Code Online (Sandbox Code Playgroud)
有没有办法在 xamarin.forms 中做到这一点,它是如何工作的?
编辑 1 - 虽然Xamarin Cross 平台的全局异常处理中给出的答案非常接近,但不幸的是它并没有阻止应用程序关闭,并且只显示异常发生位置的日志。我试图实现的异常处理必须在异常发生时捕获异常并允许应用程序正常继续