在看毕老师基础视频Day19的将异常信息通过IO流写入日志文件时,编写代码如下,但报错了,将最后一个catch块内的异常改为Exception可以编译通过,为什么不能用IOException???请各位大侠帮忙看一下!谢谢!
- /*
- 需求:直接将异常信息打印到控制台不便处理,
- 建议将异常信息打印到文件里!并将异常日期打印!
- */
- import java.io.*;
- import java.util.*;
- import java.text.*;
- class ExceptionInfo
- {
- public static void main(String[] args)
- {
- try
- {
- int[] arr = new int[2];
- System.out.println(arr[3]);
- }
- catch (Exception e)
- {
- PrintStream ps = null;
- try
- {
- Date d = new Date();
- SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- String s = sdf.format(d);
- ps = new PrintStream("Exception.log");
- ps.println(s);
- System.setOut(ps);
-
- //打印到指定流
- e.printStackTrace(System.out);
- }
- catch (IOException ex)
- {
- throw new RuntimeException("日志文件创建失败!");
- }
- finally
- {
- try
- {
- if(ps!=null)
- ps.close();
- }
- catch (IOException exc)
- {
- throw new RuntimeException("关闭流对象失败!");
- }
- }
-
- }
- }
- }
复制代码
|
|