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 相关文章推荐
Java基础-封装和继承
Jul 02 Java/Android
springboot+WebMagic+MyBatis爬虫框架的使用
Aug 07 Java/Android
JAVA API 实用类 String详解
Oct 05 Java/Android
Mybatis是这样防止sql注入的
Dec 06 Java/Android
JVM之方法返回地址详解
Feb 28 Java/Android
JVM的类加载器和双亲委派模式你了解吗
Mar 13 Java/Android
Android Flutter实现图片滑动切换效果
Apr 07 Java/Android
Java GUI编程菜单组件实例详解
Apr 07 Java/Android
java中为什么说子类的构造方法默认访问的是父类的无参构造方法
Apr 13 Java/Android
Spring Data JPA框架Repository自定义实现
Apr 28 Java/Android
Java 定时任务技术趋势简介
May 04 Java/Android
详解Spring Security如何在权限中使用通配符
Jun 28 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
smarty模板判断数组为空的方法
2015/06/10 PHP
PHP中的静态变量及static静态变量使用详解
2015/11/05 PHP
php中实现字符串翻转的方法
2017/02/22 PHP
枚举JavaScript对象的函数
2006/12/22 Javascript
js借助ActiveXObject实现创建文件
2013/09/29 Javascript
js带前后翻页的图片切换效果代码分享
2015/09/08 Javascript
jQuery实现图片滑动效果
2017/03/08 Javascript
完美实现js选项卡切换效果(二)
2017/03/08 Javascript
Node.js  事件循环详解及实例
2017/08/06 Javascript
angularjs实现柱状图动态加载的示例
2017/12/11 Javascript
Vue 中使用vue2-highcharts实现曲线数据展示的方法
2018/03/05 Javascript
Vue-router的使用和出现空白页,路由对象属性详解
2018/09/03 Javascript
Webstorm2016使用技巧(SVN插件使用)
2018/10/29 Javascript
使用vscode快速建立vue模板过程详解
2019/10/10 Javascript
Vue中key的作用示例代码详解
2020/06/10 Javascript
js操作两个json数组合并、去重,以及删除某一项元素
2020/09/22 Javascript
[03:22]DSPL第一期精彩集锦:酷炫到底!
2014/11/07 DOTA
Python3实现简单可学习的手写体识别(实例讲解)
2017/10/21 Python
tensorflow实现KNN识别MNIST
2018/03/12 Python
Python3.5文件修改操作实例分析
2019/05/01 Python
python代码xml转txt实例
2020/03/10 Python
Python生成器常见问题及解决方案
2020/03/21 Python
10个顶级Python实用库推荐
2021/03/04 Python
细说CSS3中的选择符
2008/10/17 HTML / CSS
CSS3 透明色 RGBA使用介绍
2013/08/06 HTML / CSS
深入剖析webstorage[html5的本地数据处理]
2016/07/11 HTML / CSS
基于HTML5 FileSystem API的使用介绍
2013/04/24 HTML / CSS
一些.net面试题
2014/10/06 面试题
军训教官感言
2014/03/02 职场文书
应用数学专业求职信
2014/03/14 职场文书
2014年综合治理工作总结
2014/11/20 职场文书
2014年学前班工作总结
2014/12/08 职场文书
青年志愿者服务活动总结
2015/05/06 职场文书
工商行政处罚决定书
2015/06/24 职场文书
PHP基本语法
2021/03/31 PHP
Python开发简易五子棋小游戏
2022/05/02 Python