我正在开发一个 Silverlight 应用程序,该应用程序在 App 类中有一个 UnhandledException 处理程序,它显示一个包含异常消息的消息框。这通常适用于自定义异常。但是,它对于内置异常(例如 NullReferenceException)就不是很好了,因为用户没有安装开发人员运行时,因此会收到一个相当难看的“调试资源字符串不可用”消息。
我的第一个想法(我很快就打消了)是检查“调试资源字符串”的异常消息。我想如果有人用法语运行应用程序,他们会得到“les chaînes de ressources de débogage”之类的东西,这样就行不通了。
Silverlight 应用程序是否有办法检测它是在最终用户运行时还是在开发人员运行时中运行?我查看了 Application 和 Environment 以及 Deployment 类,但没有找到任何东西。
我想如果应用程序在需要向用户显示某种消息时总是抛出自定义异常,我想这不会是一个问题。然后我可以使用更友好的通用消息轻松隐藏非自定义消息。这是最好/唯一的选择吗?