OOB Silverlight 4应用程序应如何向UI显示未处理的错误? (HtmlPage)

时间:2010-12-17 02:18:32

标签: silverlight silverlight-oob

我有一个SL OOB应用程序(它只运行OOB)并且想知道app.xaml.css中的ReportErrorToDOM代码:

根据我的理解,HtmlPage不会在OOB中工作,因为没有DOM / HTML?这就是为什么这段代码包含在TryCatch块中的原因? (这是新SL4应用程序的默认设置。)

要让我的OOB应用程序向UI显示未处理的错误,我应该判断用MessageBox.Show替换HTMLPage吗?

我在谷歌上找不到任何关于此的内容,赞赏意见...

  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)
        {
        }
    }

2 个答案:

答案 0 :(得分:1)

作为初始起始位置,您应该使用使用MessageBox.Show的代码替换代码以显示错误。

适合生产质量的发布取决于应用类型。严格来说,如果您的应用程序遇到未处理的异常,它将处于不确定的状态,因此消息框和/或替换根视觉可能是有意义的。

如果它是游戏,那么简单地吞下错误甚至可能是合适的,或者只是在某些日志中注意到它。

答案 1 :(得分:0)

看看VS中的Silverlight导航应用程序模板 - 它使用ChildWindow来显示错误,这也适用于OOB。您可以从此模板生成虚拟项目,并将大部分代码复制/粘贴到您的应用程序以快速进行,然后调整UI以满足您的需求。