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 相关文章推荐
启动Tomcat时出现大量乱码的解决方法
Jun 21 Java/Android
详解Java实现设计模式之责任链模式
Jun 23 Java/Android
Spring中bean的生命周期之getSingleton方法
Jun 30 Java/Android
浅谈sql_@SelectProvider及使用注意说明
Aug 04 Java/Android
logback如何自定义日志存储
Aug 30 Java/Android
关于MybatisPlus配置双数据库驱动连接数据库问题
Jan 22 Java/Android
Java实现学生管理系统(IO版)
Feb 24 Java/Android
SpringBoot中HttpSessionListener的简单使用方式
Mar 17 Java/Android
Java 获取Word中所有的插入和删除修订的方法
Apr 06 Java/Android
openGauss数据库JDBC环境连接配置的详细过程(Eclipse)
Jun 01 Java/Android
解决spring.thymeleaf.cache=false不起作用的问题
Jun 10 Java/Android
Java使用HttpClient实现文件下载
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结合JQueryJcrop实现图片裁切实例详解
2014/07/24 PHP
php实现xml转换数组的方法示例
2017/02/03 PHP
PHP利用二叉堆实现TopK-算法的方法详解
2017/04/24 PHP
PHP实现的文件上传类与用法详解
2017/07/05 PHP
laravel migrate初学常见错误的解决方法
2017/10/11 PHP
ThinkPHP整合datatables实现服务端分页的示例代码
2018/02/10 PHP
jquery trim() 功能源代码
2011/02/14 Javascript
读jQuery之四(优雅的迭代)
2011/06/20 Javascript
IE6浏览器下resize事件被执行了多次解决方法
2012/12/11 Javascript
Jquery操作radio的简单实例
2014/01/06 Javascript
通过onmouseover选项卡实现img图片的变化
2014/02/12 Javascript
JavaScript原生对象之Date对象的属性和方法详解
2015/03/13 Javascript
JavaScript高级程序设计(第三版)学习笔记6、7章
2016/03/11 Javascript
全面了解js中的script标签
2016/07/04 Javascript
Angular ng-repeat遍历渲染完页面后执行其他操作详细介绍
2016/12/13 Javascript
详解微信小程序 wx.uploadFile 的编码坑
2017/01/23 Javascript
详解axios在node.js中的post使用
2017/04/27 Javascript
JS实现的全排列组合算法示例
2017/10/09 Javascript
swiper 自动图片无限轮播实现代码
2018/05/21 Javascript
深入理解JS中Number(),parseInt(),parseFloat()三者比较
2018/08/24 Javascript
vue引入微信sdk 实现分享朋友圈获取地理位置功能
2019/07/04 Javascript
JavaScript语句错误throw、try及catch实例解析
2020/08/18 Javascript
[01:34]2016国际邀请赛中国区预选赛IG战队教练采访
2016/06/27 DOTA
合并百度影音的离线数据( with python 2.3)
2015/08/04 Python
Python的Twisted框架上手前所必须了解的异步编程思想
2016/05/25 Python
python自定义异常实例详解
2017/07/11 Python
详解Python 装饰器执行顺序迷思
2018/08/08 Python
Tensorflow模型实现预测或识别单张图片
2019/07/19 Python
CSS3教程(9):设置RGB颜色
2009/04/02 HTML / CSS
css3实现平移效果(transfrom:translate)的示例
2020/11/13 HTML / CSS
俄罗斯家居用品购物网站:Евродом
2020/11/21 全球购物
主治医师岗位职责
2013/12/10 职场文书
世界水日宣传活动总结
2015/02/09 职场文书
2015年社区服务活动总结
2015/03/25 职场文书
丧事主持词
2015/07/02 职场文书
Go语言应该什么情况使用指针
2021/07/25 Golang