我想知道是否有一种很好的方法将系统生成的错误转换为对用户更有意义的东西。例如,如果由于某种原因应用程序无法连接到SMTP服务器。我想将由系统抛出的消息(如“SMTP连接失败”)转换为“我们无法给您发送电子邮件”。这个我想从资源文件中拉出的友好消息。虽然这是一个例外,但可能还有更多。将系统错误转换为友好的消息
我们没有跨越所有图层的try catch块。它仅存在于UI层。我们有一个异常管理类,它接受所有异常并从中返回一个友好的字符串。 UI层中的每个catch块都会调用此异常管理类,并向其传递一个System.Exception类型的异常,该异常的方法需要返回用于UI的友好错误字符串。
现在我唯一能想到的方法是在异常管理类中有一个大的IF ELSE块,用于检查接收到的异常字符串并从资源文件中提取一个匹配友好的消息。
有没有更好的方法来解决这个问题?
IMO,这是一个很好的方法。资源文件或数据库表,简而言之,您有一个占位符,您可以在其中映射错误代码,也可以在您的自定义友好消息中使用技术错误消息。对于未映射的消息,您可以为用户提供一个通用友好的消息。 – 2013-03-28 05:43:11