我正在尝试在我的WP8应用程序中加入AdMob广告,并注意到一定比例的广告(通常是基于文本的广告但不总是)引发以下异常:
A first chance exception of type 'System.SystemException' occurred in Microsoft.Phone.Interop.ni.dll
我做了很多挖掘,发现有些admob插页式广告在尝试使用InvokeScript(下面的堆栈跟踪)时遇到了问题。
Microsoft.Phone.Interop.ni.dll!Microsoft.Phone.Controls.NativeMethods.ValidateHResult(int hr)
Microsoft.Phone.Interop.ni.dll!Microsoft.Phone.Controls.WebBrowserInterop.InvokeScript(string scriptName, string[] args)
Microsoft.Phone.ni.dll!Microsoft.Phone.Controls.WebBrowser.InvokeScript(string scriptName, string[] args)
GoogleAds.DLL!A.c778af7b26605e0bb7fadf1547d7f5530.c379e3fb7ee502b62de5eee847f1352a2(string c1966769b4ad56530475a20642e40c06c)
据推测,这是因为一些广告并不是很好(只是一个猜测),但我想知道在抛出异常时是否有任何方式让我抓住(没有任何运气)至今)。 Admob调用正在使用beginInvoke,因此它们不在同一个线程上,因此下面的典型模式不会导致断点被命中。我已经确定了“查看异常跨越AppDomain或本机/托管边界时中断”的visual studio选项。
在App()
下UnhandledException += Application_UnhandledException;
处理程序方法:
private void Application_UnhandledException(object sender, ApplicationUnhandledExceptionEventArgs e)
{
if (System.Diagnostics.Debugger.IsAttached)
{
// An unhandled exception has occurred; break into the debugger
System.Diagnostics.Debugger.Break();
}
}
有什么方法可以捕捉这些例外吗?
答案 0 :(得分:0)
我找到了这个问题的解决方案,它让我有一个异常处理程序,即使在不同的线程上也会被调用。