当 Silverlight 项目抛出异常时,它最终会引发一个“脚本错误”对话框,需要在继续之前确认该对话框。我们将 Silverlight 用于 HTML 页面上的部分内容,但不希望在该内容不可用时出现错误对话框。相反,我们已经将脚本错误写入日志并认为这已经足够了。
是否可以防止该对话框出现在未捕获的异常上?捕获并处理所有异常的唯一解决方案是吗?我尝试删除“onError”参数及其值为“onSilverlightError”,但这没有什么区别。
最佳答案
在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)
{
}
}
你的代码可能有点少,只需注释掉事件处理程序中的所有代码就可以了。
关于javascript - 是否可以阻止 Silverlight 错误弹出错误对话框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4222546/