当Silverlight项目抛出异常时,最终会引发一个“脚本错误”对话框,需要在继续之前进行确认。我们将Silverlight用于HTML页面上的部分内容,但如果该内容不可用,则不希望出现错误对话框。相反,我们已经将脚本错误写入日志并认为足够了。
是否可以防止该对话出现在未捕获的异常上?捕获和处理所有异常的唯一解决方案是什么?我已经尝试删除“onError”参数,其值为“onSilverlightError”,但没有区别。
答案 0 :(得分:2)
在App.xaml.cs中会有“ReportErrorToDOM”事件处理程序,完全注释处理程序内的所有代码,然后你就不会看到任何对话框了。
private void ReportErrorToDOM(ApplicationUnhandledExceptionEventArgs e)
{
try
{
//string errorMsg = e.ExceptionObject.Message + e.ExceptionObject.StackTrace;
//errorMsg = errorMsg.Replace('"', '\'').Replace("\r\n", @"\n");
//System.Windows.Browser.HtmlPage.Window.Eval("throw new Error(\"Unhandled Error in Silverlight Application " + errorMsg + "\");");
}
catch (Exception)
{
}
}
您的代码可能有点,只需在事件处理程序中注释所有代码,然后就可以了。