T31Day5

本文详细探讨了Java异常处理的流程、机制和最佳实践,强调了避免不必要的异常、提供清晰的异常信息和适当的异常处理的重要性。同时,介绍了日志的功能、时效规约和输出规约,强调日志在问题定位和系统稳定性中的作用。此外,讨论了错误码的用途和规约,以促进系统间和人机交互的清晰沟通。
摘要由CSDN通过智能技术生成

目录

心得体会

前言

一、异常

java异常处理流程

java异常处理机制

java异常体系

抛出与捕获的原则:

try with resource流程解析(JDK7及以上功能)

特殊异常场景及其处理对策

二、日志

日志的功能

日志时效规约

日志记录规约

日志输出规约

扩展日志的设计与规约

三、错误码

错误码的功用

错误码规约


心得体会

    关于T31项目的第三节课主要讲解了异常与日志的使用对我们项目运行的作用,如何正确的运用异常的捕捉及日志的使用。在还没上该节课前,我对异常的使用的感知在于不管代码会不会用错,复杂的业务代码就加try{}catch{}finally{},捕捉及手动处理异常;简单的就向上抛出异常而已,日志也是使用最简单的方法不管有没有用多打印了,导致有些时候系统异常也不知从何入手。听完这节课后,我对异常及日志的使用有的更深的认识,同时也知道日后在该方面的使用时应该注意什么。

前言

 为正确的使用异常、日志为系统保驾护航:
   1. 日志中异常应当描述导致当前异常发生的原因,尽量保留完整现场;
   2. 用户可根据异常栈快速定位异常发生的位置;
   3. 结合异常描述和异常栈解决异常

一、异常

java异常处理流程

 

java异常处理机制

P.S.

  1. 非本系统的接口使用时,使用Throwable异常类捕捉异常

  2. 多个异常时,catch先子类异常,不断升级

java异常体系

 

抛出与捕获的原则:

  1. 非必要不使用异常(稳定的使用代码尽量不要包含在异常捕捉的代码中)

  2. 使用描述性消息抛出异常

  3. 力所能及的异常一定要处理

  4. 异常忽略要有理有据

  5. 禁止在finally中进行return;

try with resource流程解析(JDK7及以上功能)

特殊异常场景及其处理对策

NPE(空指针异常)

foreach遍历集合的异常

 

二、日志

日志的功能

日志时效规约

记录用户敏感信息或操作的日志最好以warn的日志级别进行输出,且最小保存6个月并多机备份。

日志记录规约

  1. 系统应依赖使用日志框架(SLF4J、JCL)的API而不是具体日志库中的

  2. 在日志输出时,字符串变量之间的拼接使用占位符的方式

  3. 日志打印时禁止直接用json工具将对象转换成String

  4. 尽量用英文来描述日志错误信息

 

日志输出规约

 

扩展日志的设计与规约

 

三、错误码

错误码的功用

       统一、规范的错误信息的表达,便于不同系统之间的沟通和人与系统的沟通,同时也便于不同人进行系统操作时,理解错误信息。

错误码规约

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值