编写Exception类,将异常输出到本地文件中,这样,在处理异常的时候就可以直接调用该方法去读取异常。相关代码段如下:
package com.boya.exception;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Exceptions extends Exception{
//操作异常的方法
public void showException(Exception ex){
//写异常
//获取时间,系统时间System.currentTimeMillis()
Date date=new Date(System.currentTimeMillis());
//将时间格式化
SimpleDateFormat sdftime=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
String strtime=sdftime.format(date);
//创建一个可以往文件中写入字符数据的字符输出流对象。
/*
* 既然是往一个文件中写入文字数据,那么在创建对象时,就必须明确该文件(用于存储数据的目的地)。
*
* 如果文件不存在,则会自动创建。
* 如果文件存在,则会被覆盖。
* !!!!!!如果构造函数中加入true,可以实现对文件进行续写!否则相当于新建重写
*/
try {
//创建写异常的路径
FileWriter fw = new FileWriter("d://exceptionsText//ex.txt",true);
//创建写流
BufferedWriter bw=new BufferedWriter(fw);
//将异常写进去
bw.write("\n"+strtime+":"+ex.getMessage());
//关闭写流
bw.flush();
bw.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//=============================================
//读异常
try {
//创建读文件的路径
FileReader fr=new FileReader("d://exceptionsText//ex.txt");
//创建的缓冲流
BufferedReader br=new BufferedReader(fr);
//读取异常,为string类型
while ((br.readLine())!=null) {
System.out.println("Exception:"+br.readLine());
}
//关闭读流
br.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}