MySQL - 主备一致

MySQL - 主备一致

  • 原文地址:
  • 原文作者:
  • 本文永久链接:
特别说明

当前文章内容迁移中,如有问题,请提交 issues 谢谢 ~~

全局异常处理的设计

  1. 业务逻辑正常异常

  2. 未知逻辑导致异常

  1. 如果是业务逻辑正常情况下,已知可能会产生的异常,有两种处理,要么直接 catch 处理(非全局,而是当前函数内部处理),要么往上抛,由框架层面 全局 catch,这时候,全局异常处理,如果已知
    可能产生的异常是什么异常类型,可以自定义如何处理,如果不知道,则统一交由 Exception 顶级父类处理,设定这一类的统一异常信息返回结果

  2. 未知逻辑导致异常,同样分两种情况,

  • 为了保证业务可以正常进行,对于这种情况,一般由当前业务内部处理,不往上抛,即不会经由全局异常处理。
  • 在业务允许或者是设计正常的情况下,需要抛出,这个时候就需要由 全局异常处理。一般这种未知的 异常,全局异常很难定位具体类型,一般交由顶级父类 Exception 处理
    如果知道可能潜在的异常,可以自行定义如何处理。

总结

  1. 一般情况下,为了保证用户的体验,异常的处理一般很少交由全局异常处理,这个时候的异常,一般由函数内部处理,返回空数据等返回值。
    业务设计正常情况下,需要设计的异常是需要让用户感知的异常,这个时候设计的一般设计特定的类型返回值。

  2. 对于全局异常返回的设计,大部分情况下的设计都是针对未知,无法感知的异常,且会导致系统问题,为了保证系统正常运行而进行 catch 比如 内存问题,空指针问题等

Prev:
Hexo 代码高亮
Next:
消息中间件 - ZeroMQ -简介
Contents of this article
Contents of this article