A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 垂天云 高级黑马   /  2013-9-14 05:27  /  957 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 垂天云 于 2013-9-14 13:59 编辑
  1. import java.util.*;
  2. import java.io.*;
  3. import java.text.*;
  4. class ExceptionInfo
  5. {
  6. public static void main(String[] args)
  7. {
  8. try
  9. {
  10. int [] arr = new int[2];
  11. System.out.println(arr[3]);
  12. }
  13. catch (Exception e)
  14. {
  15. try
  16. {
  17. Date d = new Date();
  18. SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  19. String s = sdf.format(d);

  20. PrintStream ps = new PrintStream("exception.log");
  21. ps.println(s);
  22. e.printStackTrace(ps);
  23. }
  24. catch (IOException ex)
  25. {
  26. throw new RuntimeException("日志文件创建失败");
  27. }
  28. e.printStackTrace(System.out);

  29. }
  30. }
  31. }
复制代码
以上为一个记录异常日志的代码,问:输出文件里成功纪录了异常信息,但是为什么控制台在运行时,也报了异常信息呢?是JDK1.7的新特性?

评分

参与人数 1技术分 +1 收起 理由
EYE_SEE_YOU + 1

查看全部评分

1 个回复

倒序浏览
本帖最后由 杨增坤 于 2013-9-14 08:30 编辑

class ExceptionInfo {
        public static void main(String[] args) {
                try {
                        int[] arr = new int[2];
                        System.out.println(arr[3]);//超出了数组取值范围
                } catch (Exception e) {
                        try {
                                Date d = new Date();
                                SimpleDateFormat sdf = new SimpleDateFormat(
                                                "yyyy-MM-dd HH:mm:ss");
                                String s = sdf.format(d);

                                PrintStream ps = new PrintStream("F:\\exception.log");
                                ps.println(s);
                                e.printStackTrace(ps);
                        } catch (IOException ex) {
                               throw new RuntimeException("日志文件创建失败");//只要是有错误,程序就会提示,这是运行时错误,你虽然把错误打印在的文件中,但是没有处理掉,所以在控制太还会出错误!
                        }
                        e.printStackTrace(System.out);

                }
        }
} 异常没有处理掉则会在控制台出错!

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马