今天在《java编程思想》一书中看到了异常与记录日志,发现学会将异常记录进日志中还是很有必要的,以下是书中的例子:

 1 import java.io.PrintWriter;
 2 import java.io.StringWriter;
 3 import java.util.logging.Logger;
 4
 5
 6 public class LoggingExceptions2 {
 7
 8     private static Logger logger = Logger.getLogger("LoggingExceptions2");
 9     static void logException(Exception e){
10         StringWriter trace = new StringWriter();
11         e.printStackTrace(new PrintWriter(trace));
12         logger.severe(trace.toString());
13     }
14
15     public static void main(String[] args) {
16         try {
17             throw new NullPointerException();
18         } catch (NullPointerException e) {
19             logException(e);
20         }
21     }
22 }

以下是输出结果:

静态的Logger。getLogger()方法创建了一个String参数相关联的Logger对象,这个Logger对象会将其输出发送到System.err。向Logger写入的最简单方式就是直接调用与日志记录消息的级别相关联的方法,这里使用的severe()。为了产生日志记录消息,我们要获取异常抛出的消息,但是printStackTrace()不回默认的产生字符串。为了获取字符串,我们需要使用重载的printStackTrace()方法,它将接受一个java.io.PrintWriter对象作为参数,如果我们将一个java.io.StringWriter对象传给这个PrintWriter构造器,那么通过toString()方法,就可以将输出抽取成一个字符串。

转载于:https://www.cnblogs.com/zhyStudy/p/8469234.html

java的异常与记录日志相关推荐

  1. JAVA基础——异常详解

    阅读目录 一.异常简介 二.try-catch-finally语句 三.throw和throws关键字 四.java中的异常链 五.结束语 JAVA异常与异常处理详解 回到顶部 一.异常简介 什么是异 ...

  2. java关于异常的面试程序题_java异常相关面试题

    欢迎关注 CSDN:程序员小羊 微信公众号:程序员小羊 博客园:程序员小羊 1.Java中异常分为哪两种? 编译时异常 运行时异常 2.异常的处理机制有几种?. 异常捕捉:try-catch-final ...

  3. Java基础-异常(Exception)处理

    Java基础-异常(Exception)处理 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.异常的概述 什么是异常?Java代码在运行时期发生的问题就是异常.在Java中,把异 ...

  4. JAVA的异常(四):finally关键字

    JAVA的异常(四):finally关键字 finally代码块:定义一定执行的代码 通常用于关闭资源 finally只有一种情况不执行,就是执行了System.exit(0)的时候,是系统退出,JV ...

  5. 一种隐蔽性较高的Java ConcurrentModificationException异常场景

    前言 在使用Iterator遍历容器类的过程中,如果对容器的内容进行增加和删除,就会出现ConcurrentModificationException异常.该异常的分析和解决方案详见博文<Jav ...

  6. java的异常机制面试题(转)

    java的异常机制面试题(转) 参考文章: (1)java的异常机制面试题(转) (2)https://www.cnblogs.com/ffaiss/p/11434639.html 备忘一下.

  7. Java获取异常堆栈信息

    Java获取异常堆栈信息 参考文章: (1)Java获取异常堆栈信息 (2)https://www.cnblogs.com/zhi-leaf/p/6288769.html 备忘一下.

  8. java的异常抛出throws和throw的简单使用

    java的异常抛出throws和throw的简单使用 参考文章: (1)java的异常抛出throws和throw的简单使用 (2)https://www.cnblogs.com/Anxc/p/113 ...

  9. Java的异常:Error与Exception

    Java的异常:Error与Exception 参考文章: (1)Java的异常:Error与Exception (2)https://www.cnblogs.com/heqiyoujing/p/11 ...

最新文章

  1. Eclipse问题集锦
  2. android 8.0可以实现后台包活么,Android 8.0 应用保活实践 · Jaqen Ng
  3. 怎样成为一名优秀的系统工程师
  4. CTO点名要搞个灰度发布系统,不慌!
  5. 那些想坐等AI成熟再采用的公司,可能永远也跟不上AI浪潮
  6. html特殊字符的html,js,css写法汇总
  7. Nginx集群session管理的两种方式
  8. 设计模式的理解 : 门面模式、外观模式 (Facade)
  9. Centos7 Minimal 版安装后安装图形界面教程
  10. 集合元素处理(Stream方式)
  11. 在软件工程中有两件难事
  12. python基础—正则表达式即re模块
  13. QGIS+GH + MapServer
  14. QQ空间内容批量删除脚本
  15. 英语语法高考英语单词拼写必背全表
  16. 微信支付 商户号该产品权限未开通,请前往商户平台
  17. php session域,tp5 Session作用域问题
  18. 新松机器人BG总裁高峰_曲道奎总裁出席2019中国国际机器人与智能制造发展高峰论坛 新松荣获“金手指奖”...
  19. 【电子学会】2022年03月图形化三级 -- 二进制像素绘制程序
  20. DOL HDR【Digital Overlap】OV称Staggered HDR 索尼称DOL HDR

热门文章

  1. 安装asp.net mvc4后mvc3项目编译报错
  2. Windows日志及其保护
  3. IE7下元素的 'padding-top' 遇到 'clear' 特性在某些情况下复制到 'padding-bottom'
  4. IFile、File与实体转换
  5. OpenCv 009---色彩空间与色彩空间转换
  6. spark on yarn提交后vcore数不对
  7. mssql sqlserver 模拟for循环的写法
  8. MSI-X 之有别于MSI
  9. 6.SQL Server Sql语句
  10. parentViewController