获取异常信息e.printStackTrace()的内容

获取异常信息e.printStackTrace()的内容

最近做项目的时候需要记录操作的日志,但是记录异常信息的是发现使用e.getMessage()根本无法满足需要,并且e.getMessage()有时获得的信息根本无法知道具体的错误信息,那么这个时候我们就要获得e.printStackTrace()的内容了

获得异常错误信息

package com.gavin.exception.demo;

import java.io.PrintWriter;
import java.io.StringWriter;
import java.io.Writer;

public class Test {

    public static void main(String[] args) {
        try {
            method();
        } catch (Exception e) {
            // TODO Auto-generated catch block
            Writer writer = new StringWriter();
            e.printStackTrace(new PrintWriter(writer));
            System.out.println("打印错误:"+writer.toString());  

            e.printStackTrace();
        }
    }

    public static void method() throws Exception{
        throw new Exception("出错了");
    }
}

输出结果:
打印错误:java.lang.Exception: 出错了
    at com.demo.Test.method(Test.java:23)
    at com.demo.Test.main(Test.java:11)

java.lang.Exception: 出错了
    at com.demo.Test.method(Test.java:23)
    at com.demo.Test.main(Test.java:11)

获取异常信息e.printStackTrace()的内容

时间: 2024-12-25 21:13:27

获取异常信息e.printStackTrace()的内容的相关文章

java 第47节 获取异常信息

2016-06-30 1 获取异常信息 程序发生异常的时候,程序就直接从try执行到catch语句块,不再继续往下执行. package com.java1995; //结束方法 //return; //结束程序 //System.exit(0); public class TryCatchTest { public static void main(String[] args) { int count=9; try{ // int temp=count/0; // int[] arr=new

异常——获取异常信息

当出现异常时大家都经常会想查看异常的详细信息,什么异常,异常出现在什么位置等等. 在日常的编程中,printStackTrace是一个经常被用的方法,这个方法把异常的详细信息输出到了控制台上. 但是有一些时候我们想要把这些详细的信息以其他的方式展现,网页上.日志里.报警邮件中. Exception本身的toString,getMessage方法只是对该Exception类的本身信息,并不能帮我们找出异常点. 那么就从printStackTrace着手,将这个方法要输出的信息放到一个String里

Python中获取异常(Exception)信息

异常信息的获取对于程序的调试非常重要,可以有助于快速定位有错误程序语句的位置.下面介绍几种python中获取异常信息的方法,这里获取异常(Exception)信息采用try...except...程序结构.如下所示 try: ... except Exception as e: ... 1.str(e) 返回字符串类型,只给出异常信息,不包括异常信息的类型,如1/0的异常信息 'integer division or modulo by zero' 2.repr(e) 给出较全的异常信息,包括异

Spring MVC异常统一处理(异常信息的国际化,日志记录)

JAVA EE项目中,不管是对底层的数据操作,还是业务层的处理过程,还是控制层的处理,都不可避免的会遇到各种可预知的(业务异常主动抛出).不可预知的异常需要处理.一般dao层.service层的异常都会直接抛出,最后由controller统一进行处理,每个过程都单独处理异常,且要考虑到异常信息和前端的反馈,代码的耦合度高,不统一,后期维护的工作也多. 同时还必须考虑异常模块和日志模块.国际化的支持. 因此需要一种异常处理机制将异常处理解耦出来,这样保证相关处理过程的功能单一,和系统其它模块解耦,

输出异常信息

Writer out = new StringWriter(); PrintWriter s = new PrintWriter(out); // 创建不带自动行刷新的新 PrintWriter. exception.printStackTrace(s); //将异常信息放入out中 msg = out.toString(); exceoption的printStackTrace(PrintWriter p) 从Throwable 继承来(public class Exception exten

SQL server 获取异常

一.try...... catch 获取异常信息 /*======================================== 相关错误消 息如下: ERROR_NUMBER() 返回错误号. ERROR_SEVERITY() 返回严重性. ERROR_STATE() 返回错误状态号. ERROR_PROCEDURE() 返回出现错误的存储过程或 触发器的名称. ERROR_LINE() 返回导致错误的例程中的行 号. ERROR_MESSAGE() 返回错误消息的完整文本. =====

重构获取异常栈信息--printStackTrace

MyStackTrace: /** * * @author wumingkun * @version 1.0.0 * @Description */ package com.demo.stacktrace; import java.io.PrintStream; /** * @author wumingkun * */ public class MyStackTrace { public static String getStackTrace(Throwable errors) { String

内容提供者(获取联系人信息和插入联系人)

一丶获取联系人的信息 点击获取联系人信息 public void click(View view){        //获取内容解析器        ContentResolver resolver = getContentResolver() ;        //设定访问的uri(系统本机)        Uri uri = Uri.parse("content://com.android.contacts/raw_contacts") ;//联系人的id        Uri d

Android 获取设备信息 异常

/**获取设备信息 * @param c * @return */ public static void setDeviceInfo(Context c,RequestParams params){ TelephonyManager tm = (TelephonyManager) c.getSystemService(Context.TELEPHONY_SERVICE); if(tm!=null){ try{ params.add("deviceId", tm.getDeviceId(