• 如何获取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)  
  • 相关阅读:
    Invoice Helper
    Product Helper
    Order Helper
    Case Helper
    Quote Helper
    C# 工厂模式示例
    若今生长剑浣花,生死无涯
    古代美到窒息的谎言
    C#解决微信支付Exception has been thrown by the target of an invocation(调用的目标发生了异常)的问题
    文能提笔控萝莉,转载自网上
  • 原文地址:https://www.cnblogs.com/maohuidong/p/11757406.html
Copyright © 2020-2023  润新知