对于项目中通常会出现一些无法规避的错误或者意料之外的bug,需要用到错误处理。
我刚入行时就不太爱处理错误情况,测试阶段并没有出现问题,不过现在来看确实代码漏洞很大,一些意料之外出现的错误通常都会导致页面崩盘。用户不明所以,按钮点了之后没反应,页面直接白屏之类的,可能直接就导致用户流失了,如果给出一些友好提示,可能就会挽留住一些用户。
这里不谈如何具体实践,谈一些个人的杂乱思想。
项目中通常会有一些这样的场景:
- 测试环境偶发性问题,比较难复现,无法找到复现原因。
- 测试中解决的bug,线上环境通过别的用户复现了。
- 一些无法规避的错误或者不正常展示信息,某些文章或列表没有数据,给阿里云视频加水印等异步操作,用户上传操作之后,立即观看视频无法显示水印...
出现错误是无法避免的,我们应当尽可能多的考虑到错误情况,给与用户友好的提示。
- 列表没有内容时,出现暂时没有数据的内容样式,或者引导用户去一些其他页面的操作。
- 适当的利用window.error和try-catch等方法,代码出现错误时,监听代码错误,尽量少的让代码错误影响页面的其他功能。
- http请求出现错误时,配合服务端返回的数据,errMessage或者http状态码404,502之类的固定情况给出错误提示。
- 封装方法使用使用Promise的then和catch,对细小的功能也区分success和error情景。
写功能时的思想
功能尽量区分的细小一些,各个功能分别注意区分success和error情况(可能会比较花时间,不过想来代码的健壮性也得到了提升),在开发时间不充裕的情况下,可以先暂时留出success和error的方法,不做处理,也不会画太多时间。
暂时就想到这么多。
网友评论