web开发中怎么处理后台的异常?

新手上路,请多包涵

大家好,本人web开发的新手一枚,有一个问题困惑着我。

用户前端提交请求后,如果后台发生了异常,这时该怎么处理呢?

我一般都是这样处理的:

1. 后台捕获异常写日志,返回一个错误状态码
2. 前端根据错误生成一个错误页面让用户看到

我觉得我这种处理方式有很多弊端:

1. 代码非常繁琐,要写很多额外的错误处理代码,代码不简洁
2. 没人会去看日志,所以即使写了日志没人看到
3. 用户看到错误如果不投诉我们也无从知晓

不知道各位大神是如何处理的呢?

阅读 3.7k
5 个回答

统一返回给前端错误码是可行的。
但是实际的异常要记录到日志中,一般情况下,后端会使用ELK来收集系统产生的日志。
开发人员可以去日志系统中查看日志详情,而且,如果存在严重异常,还可以发送邮件或短信警报。

提交表单是可以前端先校验的,后端需要的字段明确,然后前端根据字段要求将提交前的输入错误控制在前端,保证在点击提交的时候是严格按照后台字段要求提交的数据。就这一点上就避免了大部分的异常。剩下的异常可以让后台定统一的状态码,前端根据状态码提示

后台捕获异常返回统一状态码,你根据状态码给用户模态框提示就行:“系统异常,请联系系统管理员!”等等
日志什么的自己开发时候弄弄就行了,用户可不关心这个。

有专门的BUG追踪平台,像 Laravel 这类框架都有统一的出口,在出口处捕获异常的基类。然后把异常传递给BUG平台,会自动记录出错的内容,和用户请求信息。

2. 没人会去看日志,所以即使写了日志没人看到
不看日志,难道你打算让程序自行修复bug吗???

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题