高效开发之:try catch的异常堆栈信息转字符串处理

在开发场景中,有时会要求异常信息需要记录在案,也就是需要将java Exception异常栈信息进行入库处理。这也就代表不能像以前一样,将catch (Exception e)的异常进行直接e.printStackTrace();

catch (Exception e){
    e.printStackTrace();
}

需要将异常通过 printStackTrace 的构造方转换成字符串,然后再进行入库或者是相关的处理。方法如下:

public static String getExceptionString(Exception e) throws IOException {
      //读取异常堆栈信息
      ByteArrayOutputStream arrayOutputStream=new ByteArrayOutputStream();
      e.printStackTrace(new PrintStream(arrayOutputStream));
      //通过字节数组转换输入输出流
      BufferedReader fr=new BufferedReader(new InputStreamReader(new ByteArrayInputStream(arrayOutputStream.toByteArray())));
      String str;
      StringBuilder exceptionStr=new StringBuilder();
      while ((str=fr.readLine())!=null){
          exceptionStr.append(str);
      }
      //一定一定要关闭流
      fr.close();
      return exceptionStr.toString();
  }

然后再catch中进行使用即可:

catch (Exception e) {
     String exceptionStr = getExceptionString(e);
     System.out.println(exceptionStr);//此处可以进行入库处理等..
 }
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
C++大学教程(目录) 第1章 计算机与C++编程简介-------------------------------------------------1 1.1 简介--------------------------------------------------------------1 1.2 什么是计算机------------------------------------------------------3 1.3 计算机组成--------------------------------------------------------3 1.4 操作系统的变革----------------------------------------------------4 1.5 个人计算、分布式计算与客户/服务器计算-----------------------------4 1.6 机器语言、汇编语言和高级语言--------------------------------------5 1.7 C语言与C++的历史--------------------------------------------------6 1.8 C++标准库---------------------------------------------------------7 1.9 JavaInternet与万维网--------------------------------------------7 1.10 其它高级语言------------------------------------------------------8 1.11 结构化编程--------------------------------------------------------8 1.12 典型C++环境基础---------------------------------------------------8 1.13 C++与本书的一般说明----------------------------------------------10 1.14 C++编程简介------------------------------------------------------11 1.15 简单程序:打印一行文本-------------------------------------------12 1.16 简单程序:两个整数相加-------------------------------------------15 1.17 内存的概念-------------------------------------------------------18 1.18 算术运算---------------------------------------------------------19 1.19 判断:相等与关系运算---------------------------------------------21 1.20 新型头文件与名字空间---------------------------------------------24 1.21 有关对象的思考---------------------------------------------------25 小结------------------------------------------------------------------27 术语------------------------------------------------------------------29 自测练习--------------------------------------------------------------31 自测练习答案----------------------------------------------------------33 练习------------------------------------------------------------------34 第2章 控制结构-----------------------------------------------------------38 2.1 简

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值