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

发布于 2024-10-08 17:01:01 字数 778 浏览 5 评论 0原文

我有一个 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)
        {
        }
    }

I have a SL OOB app (it only runs OOB) and was wondering about the ReportErrorToDOM code in the app.xaml.css:

From what I understand, HtmlPage wont work in OOB as there is no DOM/HTML? Is that why this code is wrapped in a TryCatch block? (this is the default for a new SL4 app).

To get my OOB app to display unhandled errors to the UI, should I judt replace the HTMLPage with a MessageBox.Show?

I can't find anything on Google about this, opinions appreciated...

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

雪花飘飘的天空 2024-10-15 17:01:01

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

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

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

As an initial starting position yes you should replace the code with code that uses MessageBox.Show to display the error.

What is appropriate for a production quality release will depend on the type of application. Strictly speaking if your application has encountered an unhandled exception it would be in an indeterminate state so a message box and/or the replacing of the root visual might make sense.

If its a game then simply swallowing the error might even be appropriate or just noting it in some log.

赏烟花じ飞满天 2024-10-15 17:01:01

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

Take a look at the Silverlight Navigation Application template in VS - it uses a ChildWindow to show errors, and this works OOB as well. You could just generate a dummy project from this template and copy/paste most of the code over to your app to get going quickly, then tweak the UI to suit your needs.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文