如何在没有安装开发人员运行时的情况下检测并包装“调试资源字符串不可用”?

时间:2012-05-11 15:58:18

标签: silverlight exception-handling

我正在开发一个Silverlight应用程序,它在App类中有一个UnhandledException处理程序,它显示一个包含异常消息的消息框。这对于自定义异常通常很好。但是,它对于内置异常(例如NullReferenceException)并不是那么好,因为用户没有安装开发人员运行时,因此得到一个相当难看的“调试资源字符串不可用”消息。

我的第一个想法(我很快就解雇了)是检查“调试资源字符串”的异常消息。我想如果有人在运行应用程序,比如法语,他们会得到类似“leschaînesderessourcesdedébogage”的内容,这样就行不通了。

也许有一种方法可以让Silverlight应用程序检测它是否在最终用户运行时与开发人员运行时中运行?我查看过Application和Environment and Deployment类,但没有找到任何内容。

我认为如果应用程序总是在需要向用户显示某种消息时抛出自定义异常,这不会成为问题。然后,我可以使用更友好的通用消息轻松隐藏非自定义的消息。这是最好/唯一的选择吗?

1 个答案:

答案 0 :(得分:2)

从应用程序设计的角度来看,用户将知道如何处理任何类型的技术错误消息? “在需要对象实例的地方找到了值'null'。”嗯...

一个简单的“发生了一件坏事,如果继续,请联系支持”就足够了。只需确保记录在某处发生的任何不良事件,这样当您接到电话/电子邮件时,您可以使用解决问题所需的任何技术细节来检索问题。