zoukankan      html  css  js  c++  java
  • Log And Exception Practice

    1 log

    1.1 log.error表示系统级错误

    1.2 log.warn表示应用级错误

    1.3 服务初始化或结束用log.info

    1.4 log.debug替代outdebug要判断isDebugEnable

    1.5 log.warn("",e)替代e.printstack

    1.6 log4e生成log相关代码

    1.7 Log信息要保证可读性,需记录现场信息,如当前处理id

    2 exception

    2.1 try catch内的代码不要太长

    2.2 因为性能原因,try catch少放循环内

    2.3 尽量避免catch(Exception)这样的写法

    2.4 不同模块定义不同的exception

    2.5 建议创建应用的基类exception,特别是有定义error code需要的应用

    2.6 只要catch就要log error message

    2.7 catch并封装成另一种exception,如果不nest原来的exception就要log stackTrace

    2.8 持久层throw dataAccessException,业务层throw checked exception,展现层只显示exception信息

    2.9 规范的exception流程定义如下:

    业务层不需处理的runtime exception,由展现层定义的exception controller捕获,交给相应的error页面显示并记录stack信息。业务层捕获下层的exception,并封装成业务层的checked exception,如果nest所捕获的exception,则仅log error message,如果不nest就需要用log.warn(“”,e)记录stack信息。展现层捕获业务层的exception,应由处理业务层exception的error页面来处理。


    作者:Angelo Lee
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.
  • 相关阅读:
    NSCache
    编译器 perforSelecter时 警告去除
    常用git命令
    LINUX系统自动化部署shell脚本
    个人工作总结10
    个人工作总结09
    个人工作总结-8
    个人工作总结07
    第八周学习进度
    对搜狗输入法的一些评价
  • 原文地址:https://www.cnblogs.com/yefengmeander/p/2887690.html
Copyright © 2011-2022 走看看