js构建ui的统一异常处理方案(三)

本文介绍了JavaScript中构建UI的统一异常处理方案,包括责任链模式、异常包装、系统异常处理策略,强调在富客户端和SPA应用中统一异常处理的重要性,以及在MVVM/MVC架构下如何在控制器和服务中心进行异常管理。
摘要由CSDN通过智能技术生成

笔者之前分析了如何实现js的责任链异常处理的方法,通过promise这个异步模型,我们能够对同步方法和异步方法的两种情况,均可以实现责任链模式。有了这些武器,我们就可以开始设计ui的统一异常处理方案了。

1.统一异常处理方案

这里所谓统一异常处理方案,其实就是指对那些底层无法处理的,一层层抛到了边界类的异常,在边界类中根据异常的不同类型,做出不同处理方案的处理策略。为了能在边界类中对异常类型做出判断,我们需要将常用的异常类型定义出来,再将原始异常包装为这些系统内部定义的异常类型。所以,整个统一处理方案的需求大致有如下几点:

  1. 异常处理必须是责任链模式,最终将底层不能处理的异常抛到边界类上。
  2. 需要对原始异常包装系统异常,将其封装为我们指定的系统。
  3. 系统异常封装过程需要业务代码解耦,方便以后对其扩展。
  4. 边界类中的统一异常处理能够对与不同的系统异常,需要采用的不同的处理策略。
  5. 系统异常和处理策略是可增加的。
  6. 系统异常必须包含错误的堆栈调用信息,方便调试时找出错误。

这种统一处理异常的方案,我们在服务器端开发经常用到的,客户端往往不需要实现这种复杂的异常处理方案。但是随着前后台完全解耦,尤其是spa应用的但是,前端现在越来越复杂。而系统复杂的同时,出现异常的概率和异常处理的难度也在增加,所以统一异常处理同样适于用客户端,即我们的ui页面。

2.统一的ui异常处理方案

如果后端的异常处理核心是记录日志,那么ui的异常处理核心在于向用户响应。不同的错误给用户的响应也应该是不一样的,我们需要分析出常出现的异常,并为其设计出处理策略,这才是ui异常处理方案的核

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值