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)  
  • 相关阅读:
    flask-scripts
    mysql相关
    day9:函数
    day8:文件操作
    day7:set和深浅copy
    day6:前两小节补充
    day5:字典dict
    day4:数据结构list
    piano class 13
    day3:数据类型 str
  • 原文地址:https://www.cnblogs.com/maohuidong/p/11757406.html
Copyright © 2011-2022 走看看