我想知道如何处理我的Web应用程序中的最终用户可见错误消息。
您提供了多少信息 错误消息?
您是否重定向所有错误, 无论何种类型,都会出现常见错误 页面,或者你有一小组页面(404,403,所有其他页面)?
您是否提供了用户的错误代码? 只能引用/给你 你明白了吗?
您是否提供任何技术细节?
正如我所说,我的用户是非技术性的常规Joe人。
答案 0 :(得分:5)
向用户显示一个不错的错误,为自己记录详细错误。
答案 1 :(得分:1)
我尝试执行以下操作:
答案 2 :(得分:1)
总的来说,我尝试向用户提供所需的尽可能多的信息,以帮助他们自己解决问题。例如,在404的情况下,您可能想让他们知道要仔细检查他们正在寻找的URL是否正确。
他们显然不需要堆栈跟踪等,但是您可以在某处记录详细程度以进行诊断和调试。
答案 3 :(得分:1)
对于致命错误,请保持简短,以便他们可以通过电话或电子邮件重复这些错误:无法连接到数据库等。
对于非致命错误,请完整描述条件:错误,无法在没有发票日期的情况下保存发票。
我也总是记录所有内容,函数的参数以及可能有用的任何内部值。
答案 4 :(得分:0)
我尝试向用户展示足够的信息,他们知道这是他们需要告诉别人的问题,但是尽量避免向他们展示它们会让他们害怕!
如果可能,错误消息应该告诉他们什么是失败的,例如他们的保存失败,或者保存得很好,但之后屏幕刷新有问题。额外的错误信息(例如堆栈跟踪)应记录在您可以访问的地方,而无需用户将其发送给您。
答案 5 :(得分:0)
在为最终用户显示错误时,我发现显示错误代码是一个好习惯(所以我和管理员知道它是什么错误)和典型的“操作出错了,请联系管理员”< / p>
为可能导致用户操作的常见错误提供更多信息可能会更好。但通常太多的信息可能会吓到或混淆用户。
答案 6 :(得分:0)
您的网络应用程序的错误消息应始终(at 至少)回答这3个问题(按此顺序):
发生了什么事?
为什么会这样?
可以做些什么呢?
我使用它多年,最初来自Apple的 “人机界面指南:Apple桌面界面”。 Newer version。 Microsoft已similar guidelines。
这也使得轻松来编写它们 - 这种结构化 方法可以更快地编写它们 回答问题。
错误消息也应该是特定的。任何信息 Web应用程序知道并且用户可以知道 需要解决的问题应该是在错误信息中。 (臭名昭着)错误消息“发生错误。”很简单 不能接受。
可选:用户可能没有的更多技术信息 理解可以放在最后。但它应该被标记 就这样。
答案 7 :(得分:0)
没有,只显示一个参考号,以便用户可以给你,你可以从应用程序日志中查看详细信息(显然你需要保留一份错误日志)。