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 相关文章推荐
分析JVM源码之Thread.interrupt系统级别线程打断
Jun 29 Java/Android
浅谈自定义校验注解ConstraintValidator
Jun 30 Java/Android
SpringBoot SpringEL表达式的使用
Jul 25 Java/Android
剑指Offer之Java算法习题精讲二叉树的构造和遍历
Mar 21 Java/Android
Java实战之课程信息管理系统的实现
Apr 01 Java/Android
Java十分钟精通进阶适配器模式
Apr 06 Java/Android
Java 垃圾回收超详细讲解记忆集和卡表
Apr 08 Java/Android
Java由浅入深通关抽象类与接口(上篇)
Apr 26 Java/Android
Android Studio 计算器开发
May 20 Java/Android
java实现自定义时钟并实现走时功能
Jun 21 Java/Android
maven 解包依赖项中的文件的解决方法
Jul 15 Java/Android
Java结构型设计模式之组合模式详解
Sep 23 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中的CMS的涵义
2007/03/11 PHP
php修改NetBeans默认字体的大小
2013/07/02 PHP
php实现window平台的checkdnsrr函数
2015/05/27 PHP
php传值方式和ajax的验证功能
2017/03/27 PHP
javascript实现的像java、c#之类的sleep暂停的函数代码
2010/03/04 Javascript
iframe子父页面调用js函数示例
2013/11/07 Javascript
jQuery实现简单二级下拉菜单
2015/04/12 Javascript
每天一篇javascript学习小结(String对象)
2015/11/18 Javascript
Vue学习笔记进阶篇之函数化组件解析
2017/07/21 Javascript
js canvas实现简单的图像扩散效果
2020/06/28 Javascript
React之PureComponent的使用作用
2018/07/10 Javascript
浅谈vue权限管理实现及流程
2020/04/23 Javascript
JS实现简易日历效果
2021/01/25 Javascript
[01:58]DOTA2上海特级锦标赛现场采访:RTZ这个ID到底好不好
2016/03/25 DOTA
Python logging模块学习笔记
2014/05/24 Python
Flask入门教程实例:搭建一个静态博客
2015/03/27 Python
python difflib模块示例讲解
2017/09/13 Python
一文总结学习Python的14张思维导图
2017/10/17 Python
Python cv2 图像自适应灰度直方图均衡化处理方法
2018/12/07 Python
Python matplotlib画图与中文设置操作实例分析
2019/04/23 Python
使用python模拟高斯分布例子
2019/12/09 Python
python文件绝对路径写法介绍(windows)
2019/12/25 Python
pytorch sampler对数据进行采样的实现
2019/12/31 Python
django执行数据库查询之后实现返回的结果集转json
2020/03/31 Python
CSS3属性使网站设计增强同时不消弱可用性
2009/08/29 HTML / CSS
一款纯css3实现简单的checkbox复选框和radio单选框
2014/11/05 HTML / CSS
迪拜领先运动补剂零售品牌中文站:Sporter商城
2019/08/20 全球购物
Wiggle澳大利亚:自行车、跑步、游泳商店
2020/11/07 全球购物
Java servlet面试题
2012/03/04 面试题
临床医学专业个人的自我评价
2013/09/27 职场文书
xxx同志考察材料
2014/02/07 职场文书
大学军训感言1500字
2014/03/09 职场文书
离婚财产分配协议书
2014/10/21 职场文书
2016党风廉政建设心得体会范文
2016/01/25 职场文书
python中mongodb包操作数据库
2022/04/19 Python
最新动漫情报:2022年7月新番定档超过30部, OVERLORD骨王第四季也在其中噢
2022/05/04 日漫