我有一个关于在 J2EE 应用程序中处理错误的问题。我们当前的应用程序被许多用户使用,因此我们得到了很多支持票。这些票证中的大多数与用户相关,但 5-10% 是系统相关的异常、未处理的错误等。
我们在代码中有基本的异常处理检查(需要工作),但根据我的经验,向用户显示一般消息并不能帮助加快故障排除过程。
我正在寻找的是关于良好错误处理设计模式的建议,以便让我们考虑一个场景:
- 代码有错误
- 错误已处理
- 向用户显示带有特定错误代码的非技术错误消息。
- 非技术支持团队可以使用此错误代码来查看应用程序中发生这种情况的区域(页面、部分、..)以及用户可能一直在做什么(开发团队在客户支持参考指南中预先填充的信息)。
- 技术支持团队可以在类/JSP 等和触发该异常的代码行中使用代码归零。
- 我们使用一个日志模块,其中大多数(不是全部)Tomcat 标准输出错误都由用户会话记录……到用户将收到的错误代码中,如果它也存在,我们可以包含日志 ID,以便技术团队可以查看也。
基本上,我感兴趣的是减少支持分析-解释-研究周期,让每个部门都能触手可及地访问信息,这可以让他们更快地开始各自的工作:
- 客户支持可以对此错误代码给出预设解释,或者提供用户可以遵循的替代步骤。
- 技术团队可以开始对代码行或触发该行的用户正在做什么进行故障排除。
本质上,每个错误代码都会触发每个部门所需的后续步骤,实际上减少了问题的研究阶段并进入解决阶段。
我不确定以上是否是个好主意。对于这种需要的良好“设计模式”,任何建议都将不胜感激。或者如果它甚至是一个很好的途径。
提前致谢。
SP