zoukankan      html  css  js  c++  java
  • 如何获取e.printStackTrace()的内容

    e.printStackTrace()通常是打印在控制台的,但是,有时候程序上线了需要看这个堆栈的内容就不容易了,一来生产环境打印的东西很多或者很少,二来有时候无法直接查看到,这个时候就需要把这些内容记录下来,比如记录到数据库中,下面的方法可以完整记录。

    Java代码  收藏代码
    1. public static void main(String[] args) {  
    2.         try {  
    3.             String aa = "";  
    4.             System.out.println(aa.substring(3));  
    5.   
    6.         } catch (Exception e) {  
    7.             e.printStackTrace();  
    8.             StringWriter sw = new StringWriter();  
    9.             e.printStackTrace(new PrintWriter(sw, true));  
    10.             String str = sw.toString();  
    11.             System.out.println("==========");  
    12.   
    13.             System.out.println(str);  
    14.         }  
    15.     }  

     
    打印的效果如下:

    Java代码  收藏代码
    1. java.lang.StringIndexOutOfBoundsException: String index out of range: -3  
    2.     at java.lang.String.substring(Unknown Source)  
    3.     at java.lang.String.substring(Unknown Source)  
    4.     at Getc.main(Getc.java:16)  
    5. ==========  
    6. java.lang.StringIndexOutOfBoundsException: String index out of range: -3  
    7.     at java.lang.String.substring(Unknown Source)  
    8.     at java.lang.String.substring(Unknown Source)  
    9.     at Getc.main(Getc.java:16)  
  • 相关阅读:
    产生财务计帐周期
    判断指定年份是否为闰年
    判断是否是闰年
    Regex quick reference
    组合外键(FOREIGN KEY)
    多列组合为主键(PRIMARY KEY)
    获取字符串开始的地址(案例)
    获取字符串结尾的电话号码(案例)
    ms sql server line feed
    如何产生连续时间?(案例)
  • 原文地址:https://www.cnblogs.com/maohuidong/p/11757406.html
Copyright © 2011-2022 走看看