我的软件使用 Try Catch 来捕捉错误;最近发生了一个错误(与数据库的超时连接),并弹出 Messagebox.Show() 提醒用户该问题。这种内部软件的最终用户根本不具备 IT 知识。收到这条信息的女士问我她和谁失去了联系(我真的认为她认为这是一种精神上的“联系”,因为她看起来像一个嬉皮士)。
所以我想做的是简化错误消息。
我考虑过的事情:
我可以检查/比较 ex.Message 字符串与我想要满足的字符串列表,如果它匹配一个,我将显示简化版本。国际海事组织,不现实。
然后我想有多个捕获,如果它是某种类型,则显示简单的消息。但是我的代码会有多混乱!不仅如此,它还可能以误导性消息告终,因为并非所有(例如)TimeOutExceptions 都是相同的。
或者,我必须尝试编写自己的异常类型来满足这一点。
然后我认为,如果每个 .NET 异常都有一个关联的 ID,那将非常方便——这样,我可以用每个 ID 和我自己的好且易于准备/理解的消息编写一个很好的 case 语句。
有没有其他人考虑过这个问题,他们是否找到了合适的安排。还是只在屏幕上显示一条消息“错误 - 一封电子邮件已发送给软件供应商......”更好)?