Skip to content

异常捕获

】对大段命令进行异常捕获是不负责任的表现。在使用「异常捕获命令」时需要分清稳定逻辑与非稳定逻辑。稳定逻辑代表无论如何都不会出现错误。应当只对非稳定逻辑进行异常捕获,并做好异常处理。

】异常捕获是为了处理它,因此不要捕获后却不做任何处理。如果不需要在当前逻辑下处理,请将异常抛给调用者。最外层的业务调用必须处理异常,并且转化为终端用户可以理解的内容。

】错误返回码与异常捕获。

🔔 TIP

不同的错误需要有不同的处理方式。错误的类型可以大致分为三种:

  • 资源错误。当我们的逻辑需要请求一些资源时出现的错误,比如网络请求接口异常、写文件没有权限等。这类错误有些可以处理,有些则无法处理。
  • 程序错误。程序逻辑设计时的错误,可以通过优化程序来规避掉,比如值为 null、参数非法等。
  • 用户错误。终端用户的不合法输入导致的错误。对于这类错误,可以通过向用户反馈的方式调整用户行为。也可以加入统计,为优化提供数据支撑。

在上述的三类错误中,有些是我们希望杜绝的,比如程序的 bug,有些则是不可控的,比如用户输入,而还有一些,我们是希望可以自动恢复的,比如网络请求失败后的重试。因此,可以从逻辑上建立区分:

  • 对于我们并不期望会发生的事,可以使用异常捕获;
  • 对于我们觉得可能会发生的事,请使用返回码。