我需要在Xamarin Forms Android应用中处理所有未处理的异常。我读到可以在MainActivity的OnCreate中添加的事件处理程序中捕获它们,如下所示:
protected override void OnCreate(Bundle savedInstanceState)
{
...
AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException;
}
static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs args)
{
Exception e = (Exception)args.ExceptionObject;
System.Diagnostics.Debug.WriteLine(e.Message);
}
我在主页上引起了异常:
public MainPage()
{
InitializeComponent();
Exception_Btn.Clicked += (object s, EventArgs e) =>
{
int var1 = 1;
int var2 = 0;
// Cause a DivideByZeroException
var1 /= var2;
};
}
但是,事件处理程序从不触发,应用程序中断,并且“调试”窗口显示仍未处理异常。我想念什么?