浅谈日志中的返回格式封装格式处理,异常处理

选型问题不谈,主要考虑info 级别的数据:

一般信息:

一般说来,我们都会上项目上封装一个返回异常类,用来包装信息。
通常我们来说就是返回码和返回信息,这种最常见了。
为了更好的检查问题,我们设计如下:
000000-业务成功
000001-业务失败等

对于Msg信息呢:
我们可以定义信息格式:或信息提示。
这样在就可以不同的流程信息中输出对应的封装信息了。
信息最好有规则话,如XX,原因,便于上线grep 搜索

一般这个就可以了。

异常处理:

我们知道异常的层次:
在这里插入图片描述
我们可以定义自己的异常类,一般不太常用,但是可以这么做。
更多的是借助框架提供的异常:
Spring MVC 有以下 3 种处理异常的方式:

使用 Spring MVC 提供的简单异常处理器 SimpleMappingExceptionResolver。
实现 Spring 的异常处理接口 HandlerExceptionResolver,自定义自己的异常处理器。
使用 @ExceptionHandler 注解实现异常处理

直接从框架上继承异常并处理。即可。

处理方式:

直接抛出,交由系统处理。
自己捕捉异常并处理。

  1. 异常处理基础
    1.1 System.out.println是高代价的。调用System.out.println会降低系统吞吐量。

    1.2 在生产环境中别用异常的printStackTrace()方法。printStackTrace默认会把调用的堆栈打印到控制台上,在生产环境中访问控制台是不现实的。

  2. 异常处理基本原则
    2.1 如果你不能处理异常,不要捕获该异常。

    2.2 如果要捕获,应在离异常源近的地方捕获它。

    2.3 不要吞没你捕获的异常。
    *(就是捕获的异常,但是什么也不做)

    2.4 除非你要重新抛出异常,否则把它log起来。

    2.5 当一个异常被重新包装,然后重新抛出的时候,不要打印statck trace。

    2.6 用自定义的异常类,不要每次需要抛出异常的时候都抛出java.lang.Exception。方法的调用者可以通过throws知道有哪些异常需要处理–所以它是自我描述的。

    2.7 如果你编写业务逻辑,对于终端用户无法修复的错误,系统应该抛出非检查的异常(unchecked exception);如果你编写一个第三方的包给其他的开发人员用,对于不可修复的错误要用需要检查的异常(checked exception)。

    2.8 绝对不要因为写throws语句会让你用起来不舒服,而不声明需要检查的异常。

    2.9 应用级别的错误或不可修复的系统异常用非检查的异常(unchecked exception)抛出。
    *(注意是错误,意味着不可修复,比如配置文件错误)

    2.10 根据异常的粒度组织你的方法

简而言之:log 打印异常,,自定义异常,注意受检异常。
一般打印即可,系统已经默认了异常。

推荐阅读:
https://www.cnblogs.com/langtianya/p/6931190.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

执于代码

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值