Java获取e.printStackTrace()打印的信息方式


Posted in Java/Android onAugust 07, 2021

获取e.printStackTrace()打印的信息

某些情况下,我们需要获取应用打印的异常信息,这时就可以借助StringWriter和PrintWriter两个类来获取异常信息

具体用法如下:

try{
            throw new NullPointerException();
        }catch (Exception e){
            StringWriter sw = new StringWriter();
            e.printStackTrace(new PrintWriter(sw,true));
            String infomsg = sw.toString();
            System.out.println(infomsg);
        }

e和e.printStackTrace()方法

e初始化,也就是实例化Exception类型的对象,e是此对象引用名称。然后e(引用)会自动调用Exception类中指定的方法,也就出现了e.printStackTrace()。

当然,我们也可以用System语句输出,那么这两个语句有什么区别呢?

1、两个输出语句都能输出

System语句可以提示你异常发生的位置;但e.printStackTrace()可以显示更深的调用关系。

例如:程序中有继承的关系

Rose extends Flower ; Flower extends Plant;假如我们在创建 Rose

的时候发生异常,那么System语句就会输出异常 at Rose ,然后向外层输出

但e.printStackTrace()输出除了标准异常外,打印 at Plant at Flower at Rose

…….再向外层调查。 在向外层调查的情况下,都一样

2、System.out.println();

当发生异常时显示你自己设定的字符串信息;e.printStackTrace();是打印异常的堆栈信息,指明错误原因。

note:其实当发生异常时,通常要处理异常,这是编程的好习惯,所以e.printStackTrace()可以方便你调试程序!

以上为个人经验,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Java/Android 相关文章推荐
使用feign服务调用添加Header参数
Jun 23 Java/Android
idea搭建可运行Servlet的Web项目
Jun 26 Java/Android
Spring Data JPA的Audit功能审计数据库的变更
Jun 26 Java/Android
Springboot使用Spring Data JPA实现数据库操作
Jun 30 Java/Android
Spring Cloud Gateway去掉url前缀
Jul 15 Java/Android
Java网络编程之UDP实现原理解析
Sep 04 Java/Android
Spring Data JPA框架的核心概念和Repository接口
Apr 28 Java/Android
Java处理延时任务的常用几种解决方案
Jun 01 Java/Android
tree shaking对打包体积优化及作用
Jul 07 Java/Android
SpringBoot接入钉钉自定义机器人预警通知
Jul 15 Java/Android
Spring boot实现上传文件到本地服务器
Aug 14 Java/Android
Java移除无效括号的方法实现
Aug 07 #Java/Android
简述Java中throw-throws异常抛出
Aug 07 #Java/Android
Java比较两个对象中全部属性值是否相等的方法
Aug 07 #Java/Android
Java org.w3c.dom.Document 类方法引用报错
Aug 07 #Java/Android
springboot+WebMagic+MyBatis爬虫框架的使用
Aug 07 #Java/Android
mybatis中注解与xml配置的对应关系和对比分析
Aug 04 #Java/Android
浅谈sql_@SelectProvider及使用注意说明
Aug 04 #Java/Android
You might like
php防止sql注入示例分析和几种常见攻击正则表达式
2014/01/12 PHP
PHP队列用法实例
2014/11/05 PHP
PHP连接及操作PostgreSQL数据库的方法详解
2019/01/30 PHP
关于document.cookie的使用javascript
2010/10/29 Javascript
Java/JS获取flash高宽的具体方法
2013/12/27 Javascript
获取鼠标在div中的相对位置的实现代码
2013/12/30 Javascript
JS中getYear()和getFullYear()区别分析
2014/07/04 Javascript
JS实现的3D拖拽翻页效果代码
2015/10/31 Javascript
关于 jQuery Easyui异步加载tree的问题解析
2016/12/06 Javascript
微信小程序  TLS 版本必须大于等于1.2问题解决
2017/02/22 Javascript
微信小程序中用WebStorm使用LESS
2017/03/08 Javascript
JS获取当前地理位置的方法
2017/10/25 Javascript
JavaScript多态与封装实例分析
2018/07/27 Javascript
微信小程序之数据绑定原理解析
2019/08/14 Javascript
js实现金山打字通小游戏
2020/07/24 Javascript
[42:04]DOTA2上海特级锦标赛主赛事日 - 2 胜者组第一轮#3Secret VS OG第一局
2016/03/03 DOTA
Python中动态检测编码chardet的使用教程
2017/07/06 Python
简单分析python的类变量、实例变量
2019/08/23 Python
关于Django Models CharField 参数说明
2020/03/31 Python
英国礼品和生活方式品牌:Treat Republic
2020/11/21 全球购物
摄影实习自我鉴定
2013/09/20 职场文书
军训自我鉴定200字
2014/02/13 职场文书
大学生怎样写好自荐信
2014/02/25 职场文书
学生会主席竞聘书
2014/03/31 职场文书
新农村建设汇报材料
2014/08/15 职场文书
副校长竞聘演讲稿
2014/09/01 职场文书
基层党员对照检查材料
2014/09/24 职场文书
2015年员工工作总结范文
2015/04/08 职场文书
论文评审意见
2015/06/05 职场文书
我的长征观后感
2015/06/09 职场文书
PHP 技巧 * SVG 保存为图片(分享图生成)
2021/04/02 PHP
python基础详解之if循环语句
2021/04/24 Python
CSS中实现动画效果-附案例
2022/02/28 HTML / CSS
vue配置型表格基于el-table拓展之table-plus组件
2022/04/12 Vue.js
Java异常体系非正常停止和分类
2022/06/14 Java/Android
PostgreSQL怎么创建分区表详解
2022/06/25 PostgreSQL