非受检异常:可预测的异常,需捕捉异常,可透出异常
受检异常:引起注意型,坦然处理型
异常抛出与捕获原则:
非必要不使用异常。
使用描述性消息抛出异常
力所能及的异常一定要处理,
异常忽略要有理有据
资源的Close 异常发生时 try 中异常被覆盖
Java8以上 --使用Optional 防止NPE
不要再foreach循环里进行元素remove/add操作
foreach或者for循环抛出异常 有什么影响
资源浪费
日志功能
监控告警-健康检查,指标监控
行为轨迹-指标监控,链路追踪
快速定位问题
日志规约:日志命名,服务名,过往日志命名
至少保存15天,特殊机构至少保存6个月
什么是异常 日志记录为什么要分类 有限的异常如何适应复杂的业务异常需要
日志记录规约
1,系统依赖使用日志框架(SLF4J,JCL)的API而不是具体日志库中的
2,在日志输出时,字符串之间的拼接使用站位符的方式
3,日志打印时禁止直接使用JSON工具讲对象转换成String
4,尽量使用英文来描述日志错误信息
日志输出规约
1,日志级别开关判断
2,异常日志信息要完整
3,避免重复打印日志:日志配置中设置 additivity=true
日志扩展的设计与规约
扩展日志单独存储,错误日志单独存储