首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

关于错误捕获错误写入文件

2012-02-21 
关于异常捕获异常写入文件希望把数组越界的异常写入一个文件中,并加入产生异常的时间。我写的代码如下Java

关于异常捕获异常写入文件
希望把数组越界的异常写入一个文件中,并加入产生异常的时间。我写的代码如下

Java code
package com.cn.shijiu;import java.io.FileNotFoundException;import java.io.FileWriter;import java.io.IOException;import java.io.PrintStream;import java.text.SimpleDateFormat;import java.util.Date;public class Test1{    public static void main(String args[]) throws IOException    {        try        {            int[] a = new int[2];            System.out.println(a[3]);        } catch (Exception e)        {            try            {                FileWriter fw = new FileWriter("d:\\log.txt");                Date d = new Date();                SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");                String s = sdf.format(d);                fw.write(s);                fw.flush();                e.printStackTrace(new PrintStream("d:\\log.txt"));            } catch (FileNotFoundException e1)            {                e1.printStackTrace();            }        }    }}

文件名不同的话,时间,和异常分别能写进2个文件。但是文件名相同的话就不行了。
不知道问题出哪了?哪位给指导下。

[解决办法]
e.printStackTrace(new PrintStream("d:\\log.txt"));
//如果log文件没创建,这句会创建文件 如果创建了 这句会将log文件中的信息覆盖掉
所以不会显示时间的信息

[解决办法]
改成下面这样就可以了,异常信息都存在一个文件当中
Java code
import java.io.*;import java.text.SimpleDateFormat;import java.util.Date;public class Test1{    public static void main(String args[]) throws IOException    {        try        {            int[] a = new int[2];            System.out.println(a[3]);        } catch (Exception e)        {            try            {                FileWriter fw = new FileWriter("d:\\log.txt",true);                Date d = new Date();                SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");                String s = sdf.format(d);                fw.write(s);                fw.write("\r\n");                fw.flush();                e.printStackTrace(new PrintWriter(fw));                fw.close();            } catch (FileNotFoundException e1)            {                e1.printStackTrace();            }        }    }} 

热点排行
Bad Request.