自定义Exception类,将异常输出到本地文件中

编写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();
		}
	}

}


 

你可能感兴趣的:(java)