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)  
  • 相关阅读:
    定时器QTimer
    QDoubleSpinBox浮点型数字调节框
    pyqt5-步长调节器
    字体选择框QFontComboBox
    组合框-下拉选择框QCombox
    复选框QCheckBox
    CMake学习记录--list(列表操作命令)
    CMake命令之list
    make的link_directories命令不起作用
    Linux平台用C++实现事件对象,同步线程
  • 原文地址:https://www.cnblogs.com/maohuidong/p/11757406.html
Copyright © 2011-2022 走看看