【发布时间】:2018-06-12 09:35:37
【问题描述】:
在我的 App.xaml.cs ctor 中,我连接了 UnhandledException
this.UnhandledException += OnUnhandledException;
,然后我提供了将错误信息发送到 GoogleAnalytics 的处理程序
private void OnUnhandledException(object sender, UnhandledExceptionEventArgs e)
{
var unhandledException = e.Exception;
AnalyticsManager.LogError("", e.Exception.Message, "UnhandledException");
}
我有意在我的代码中引入了从未处理过的DevideByZeroException,并且我希望我的OnUnhandledException 处理程序会被调用,但这不会发生,无论是调试还是发布模式。我在这个处理程序中设置了一个断点,但这个断点永远不会到达。
另一方面,在 Xamarin.Android 上执行相同操作将到达断点。
更新
它似乎只有在应用程序加载并发生未处理的错误后才能工作。因此,在这两种情况下(在 c-tor 或 onLaunched 中连接 UnhandledException)如果在应用程序加载后发生错误(即单击按钮时)都将起作用。否则,即在加载应用程序期间发生未处理的异常,事件处理程序永远不会在 Xamarin.UWP 中命中。 有趣的是,在 Xamarin.Android 上,处理程序将始终被命中。
【问题讨论】:
标签: xamarin.forms xamarin.android unhandled-exception xamarin.uwp