关于打印日志几个方法的列举

import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.PrintWriter;
import java.io.StringWriter;

import org.junit.Test;

public class ExceTest {
    @Test
    public static void main(String[] args){
        try {
//            throw new Exception("发生异常");
            Integer.valueOf("a");
        } catch (Exception e) {
            //只会获得具体的异常名称. 比如说NullPoint 空指针,就告诉你说是空指针...
            System.out.println("e.getMessage 异常信息:"+e.getMessage());
            
            //来提供一个针对地区方言的错误信息
            System.out.println("e.getLocalizedMessage 异常信息:"+e.getLocalizedMessage());
            
            //e.getCause()有可能返回null
            System.out.println("e.getCause 异常信息:"+e.getCause().getMessage());
            
            StringWriter sw = new StringWriter();  
            PrintWriter pw = new PrintWriter(sw);  
            e.printStackTrace(pw);
            System.out.println(sw.toString());
            
            try {
                ByteArrayOutputStream buf = new java.io.ByteArrayOutputStream();
                //会打出详细异常,异常名称,出错位置,便于调试用,printStackTrace 有三个重载的方法
                e.printStackTrace(new java.io.PrintWriter(buf, true));
                String expMessage = buf.toString();
                System.out.println("e.printStackTrace 异常信息: "+expMessage);
                buf.close();
            } catch (IOException e1) {
                e1.printStackTrace();
            }
        }
    }
}

posted on 2016-01-14 13:30  robertsun  阅读(337)  评论(0编辑  收藏  举报

导航