1.程序层面异常处理原则

要避免使用异常处理代替错误处理;
有的人写代码会用异常处理来做判断逻辑或者做业务逻辑处理,这样会降低程序的 清晰性,并且效率低下。
处理异常不可以代替简单测试,只能在异常情况下使用异常机制;
不要进行小粒度的异常处理,应该将整个业务代码包装在一个 try 语句块中
异常往往在高层处理,且不能忽视每一个异常

2.需求层面异常处理原则

搞清楚业务边界,用代码防止异常;
在写代码之前,就要明确业务需求,同时了解该需求功能的边界,写代码的时候,用专门的代码来防止异常的发生。
给用户友好的提示;
在发现异常情况后,代码进行特殊处理后,给用户友好的提示,不能直接抛出异常到用户界面。
程序员不定义业务异常流程。
业务需求是通过代码来实现的,程序员一般不了解业务,因此在写某个业务需求过程中,发现处理不了 的异常,一定要与客户或者产品负责人来确定异常流程,从业务逻辑层面,考虑异常处理的业务逻辑,程序员不去定义业务异常流程。

3.接口层面异常处理原则

输入、输出参数校验;
接口服务提供方一般要对输入参数做校验,校验通过后,才会提供服务。接口调用方一般要对输 出参数做校验,校验通过后,才会使用服务。
请求和响应的日志记录;
接口要对请求和响应做好日志记录,这在后期遇到问题反查的时候特别 重要。
接口超时等异常的业务处理。
接口开发时,经常会遇到接口超时等网络问题,因此在开发的过程中,尤其要处理好这些异常。比如:超时反查机制,超时重发机制等。