异常信息重定向及相关处理办法

    public static String outputThrowable(Throwable t) throws FileNotFoundException{
        for (StackTraceElement ste:t.getStackTrace()) {
            System.out.println(ste.getMethodName());
        }
        t.printStackTrace(System.err);
        t.printStackTrace(System.out);
        t.printStackTrace(new PrintStream("exception.txt"));//redirect to file

        StringWriter sw=new StringWriter();
        PrintWriter pw=new PrintWriter(sw);

        try {
            t.printStackTrace(pw);//redirect to file
        } catch (Exception e) {
            e.printStackTrace();
        }finally{
            pw.close();
        }

        return sw.toString();

    }

Output:

main
java.lang.ArithmeticException: / by zero
    at exception.TestException.main(TestException.java:11)
java.lang.ArithmeticException: / by zero
    at exception.TestException.main(TestException.java:11)
java.lang.ArithmeticException: / by zero
    at exception.TestException.main(TestException.java:11)
java.lang.ArithmeticException: / by zero
    at exception.TestException.main(TestException.java:11)
时间: 2024-09-29 17:37:58

异常信息重定向及相关处理办法的相关文章

ASP.NET弹出显示ex.Message异常信息 存在换行符和回车符处理办法。

1.把ex.Message换成任意字符串,检验在catch语句块中可以用Response.Write方法显示对话框.结果显示成功,说明问题就出在ex.Message上. 2.在程序中下断点,可以看到ex.Message的内容如下图: 重点是红色圈起来的部分,这里边有个回车+换行符号,估计也就是他搞的鬼,二话不说,直接把它去掉,代码如下: try {//…. }  catch (Exception ex) { Response.Write("<script language='javascr

使用SpringSecurity3用户验证(异常信息,验证码)

1. 自定义user-service后,封装自定义异常信息返回 通常情况下,抛UsernameNotFoundException异常信息是捕捉不了,跟踪源码后发现 Java代码   try { user = retrieveUser(username, (UsernamePasswordAuthenticationToken) authentication); } catch (UsernameNotFoundException notFound) { logger.debug("User '&

Python异常信息写日志

大家在开发的过程中可能时常碰到一个需求,需要把Python的异常信息输出到日志文件中网上的办法都不太实用,下面介绍一种实用的,从Python 2.7源码中扣出来的废话不说 直接上代码,代码不多,注释比较多而已 1 import sys, traceback 2 3 traceback_template = '''Traceback (most recent call last): 4 File "%(filename)s", line %(lineno)s, in %(name)s 5

StringWriter/PrintWriter在Java输出异常信息中的作用

闲来无事,看看JUnit的源代码.刚刚开始看就发现一段有趣的代码: public String trace() { StringWriter stringWriter = new StringWriter(); PrintWriter writer = new PrintWriter(stringWriter); thrownException().printStackTrace(writer); StringBuffer buffer = stringWriter.getBuffer(); r

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

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

S - 使用SpringSecurity3用户验证几点体会(异常信息,验证码)

1. 自定义user-service后,封装自定义异常信息返回 通常情况下,抛UsernameNotFoundException异常信息是捕捉不了,跟踪源码后发现 Java代码   try { user = retrieveUser(username, (UsernamePasswordAuthenticationToken) authentication); } catch (UsernameNotFoundException notFound) { logger.debug("User '&

打印异常信息到日志

当程序运行异常时,e.printStackTrace()会打印出异常.但是很多时候我们希望将这些异常输出到日志中,以便日后可以随时查看到,可以通过这些异常快速的找到程序发生异常的代码. 那么有办法可以将异常的详细信息输出到文件吗?答案是肯定的. 程序: public static String getTrace(Throwable t) { StringWriter stringWriter= new StringWriter(); PrintWriter writer= new PrintWr

JSP 500页面的异常信息打印

web开发中异常信息是很重的信息,对开发人员是其相当重要的,对这些异常信息进行转换为用户能理解的信息就更重要了~ 在单纯的JSP开发中,处理异常信息一般使用web.xml来定义. 01 <error-page> 02          <error-code>400</error-code> 03          <location>/400.html</location> 04      </error-page> 05 06  

java异常信息日志输出

当程序运行异常时,e.printStackTrace()会打印出异常.但是很多时候我们希望将这些异常输出到日志中,以便日后可以随时查看到,可以通过这些异常快速的找到程序发生异常的代码. 那么有办法可以将异常的详细信息输出到文件吗?答案是肯定的. 程序: public static String getTrace(Throwable t) { StringWriter stringWriter= new StringWriter(); PrintWriter writer= new PrintWr