T31训练营-DAY5异常处理与日志

前言

今天主要学习内容异常处理日志相关的知识,在开发项目的时候这两块是非常重要也绕不开的。

JAVA异常

异常处理流程

T31训练营-DAY5异常处理与日志

异常抛出与捕获的原则

  • 非必要不使用异常
  • 使用描述性消息抛出异常
  • 力所能及的异常一定要处理
  • 异常忽略要有理有据

try with resource

创建关闭资源推荐使用try with resource语法

T31训练营-DAY5异常处理与日志

Optional 

级联调用判空可以使用Optional,orElse()语法。

orElse语法作用是设置默认值,如果是NPE会返回指定默认值。

特殊异常场景

foreach遍历进行元素的 remove/add操作

日志规约

日志时效规约

  • 当天日志命名 "应用名.log"
  • 过往日志命名 "{logname}.log.{保存日期}"
  • 日志文件最少保存15天
  • 敏感操作信息联机存储6个月

日志记录规约

  • 系统应依赖使用日志框架(SLF4J,JCL)的API而不是具体日志库中的
  • 日志输出时,字符串变量之间拼接使用占位符方式
  • 日志打印时禁止使用JSON工具将对象转换成String
  • 尽量使用英文描述日志错误信息

日志输出规约

  • 日志信息开关判断
  • 异常信息要完整
  • 避免重复打印日志

错误规约

错误码规约

  • 定义时要有字母也要有数字
  • 分级分类管理
  • 不能直接输出给用户作为提示
  • 不与业务架构或组织架构挂钩
  • 避免随意定义新错误码

附上老师给出的错误码定义

T31训练营-DAY5异常处理与日志

总结 

开发时应遵守异常与日志规约,对于排查问题,监控一定大有裨益。

上一篇:Python函数运用(2)—Python Day5


下一篇:小学期day5