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 相关文章推荐
SpringCloud Alibaba 基本开发框架搭建过程
Jun 13 Java/Android
Java内存模型之happens-before概念详解
Jun 13 Java/Android
解决Maven项目中 Invalid bound statement 无效的绑定问题
Jun 15 Java/Android
Maven学习----Maven安装与环境变量配置教程
Jun 29 Java/Android
Spring Cloud Gateway去掉url前缀
Jul 15 Java/Android
SpringCloud之@FeignClient()注解的使用方式
Sep 25 Java/Android
mybatis源码解读之executor包语句处理功能
Feb 15 Java/Android
Java 超详细讲解数据结构中的堆的应用
Apr 02 Java/Android
Spring Boot 底层原理基础深度解析
Apr 03 Java/Android
Spring Cloud Netflix 套件中的负载均衡组件 Ribbon
Apr 13 Java/Android
Spring Boot配合PageHelper优化大表查询数据分页
Apr 20 Java/Android
java版 简单三子棋游戏
May 04 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中文本数据翻页(留言本翻页)
2006/10/09 PHP
分享50个提高PHP执行效率的技巧
2015/12/26 PHP
PHP读取大文件末尾N行的高效方法推荐
2016/06/03 PHP
PHP数组编码gbk与utf8互相转换的两种方法
2016/09/01 PHP
jquery不支持toggle()高(新)版本的问题解决
2016/09/24 PHP
Laravel构建即时应用的一种实现方法详解
2017/08/31 PHP
很可爱的输入框
2008/08/03 Javascript
JavaScript页面刷新与弹出窗口问题的解决方法
2010/03/02 Javascript
Javascript Math ceil()、floor()、round()三个函数的区别
2010/03/09 Javascript
让你的博文自动带上缩址的实现代码,方便发到微博客上
2010/12/28 Javascript
9行javascript代码获取QQ群成员具体实现
2013/10/16 Javascript
自己动手实现jQuery Callbacks完整功能代码详解
2013/11/25 Javascript
js中判断用户输入的值是否为空的简单实例
2013/12/23 Javascript
javascript实现捕捉键盘上按下的键
2015/05/05 Javascript
解析JavaScript模仿块级作用域
2016/12/29 Javascript
vue-devtools的安装步骤
2018/04/23 Javascript
微信小程序滑动选择器的实现代码
2018/08/10 Javascript
解决vuejs项目里css引用背景图片不能显示的问题
2018/09/13 Javascript
在Vant的基础上封装下拉日期控件的代码示例
2018/12/05 Javascript
详解JavaScript 浮点数运算的精度问题
2019/07/23 Javascript
jQuery实现聊天对话框
2020/02/08 jQuery
浅析JavaScript 函数柯里化
2020/09/08 Javascript
[22:59]VGJ.S vs VG 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
python解决汉字编码问题:Unicode Decode Error
2017/01/19 Python
Python利用operator模块实现对象的多级排序详解
2017/05/09 Python
简单了解Python write writelines区别
2020/02/27 Python
Python 通过正则表达式快速获取电影的下载地址
2020/08/17 Python
美国流行背包品牌:JanSport(杰斯伯)
2018/03/02 全球购物
英国综合网上购物商城:The Hut
2018/07/03 全球购物
英国门把手公司:Door Handle Company
2019/05/12 全球购物
澳大利亚领先的女性运动服品牌:Lorna Jane
2020/06/19 全球购物
审计班子对照检查材料
2014/08/27 职场文书
任命书格式范文
2015/09/22 职场文书
《少年闰土》教学反思
2016/02/18 职场文书
2016年校园社会综合治理宣传月活动总结
2016/03/16 职场文书
「天才王子的赤字国家重生术」妮妮姆·拉雷粘土人开订
2022/03/21 日漫