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多条件判断场景中规则执行器的设计
Jun 26 Java/Android
Java使用jmeter进行压力测试
Jul 09 Java/Android
Java Socket实现多人聊天系统
Jul 15 Java/Android
SpringBoot实现quartz定时任务可视化管理功能
Aug 30 Java/Android
Java数据开发辅助工具Docker与普通程序使用方法
Sep 15 Java/Android
关于ObjectUtils.isEmpty() 和 null 的区别
Feb 28 Java/Android
SpringBoot+Redis实现布隆过滤器的示例代码
Mar 17 Java/Android
Java设计模式中的命令模式
Apr 28 Java/Android
Android Studio实现简易进制转换计算器
May 20 Java/Android
mybatis 获取更新记录的id
May 20 Java/Android
Java中Dijkstra(迪杰斯特拉)算法
May 20 Java/Android
利用Java连接Hadoop进行编程
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
PHP 图片水印类代码
2012/08/27 PHP
图文介绍PHP添加Redis模块及连接
2015/07/28 PHP
Yii中的cookie的发送和读取
2016/07/27 PHP
用Laravel轻松处理千万级数据的方法实现
2020/12/25 PHP
Javascript 表单之间的数据传递代码
2008/12/04 Javascript
jQuery客户端分页实例代码
2013/11/18 Javascript
jQuery对Select的操作大集合(收藏)
2013/12/28 Javascript
javascript跨浏览器的属性判断方法
2014/03/16 Javascript
javascript原生和jquery库实现iframe自适应高度和宽度
2014/07/18 Javascript
jQuery中html()方法用法实例
2014/12/25 Javascript
JavaScript限定图片显示大小的方法
2015/03/11 Javascript
JavaScript对Cookie进行读写操作实例
2015/07/25 Javascript
Vue生命周期示例详解
2017/04/12 Javascript
Angular实现的简单查询天气预报功能示例
2017/12/27 Javascript
浅谈vue中.vue文件解析流程
2018/04/24 Javascript
详解如何构建Promise队列实现异步函数顺序执行
2018/10/23 Javascript
小程序分享链接onShareAppMessage的具体用法
2020/05/22 Javascript
Python中splitlines()方法的使用简介
2015/05/20 Python
Django 前后台的数据传递的方法
2017/08/08 Python
10个Python小技巧你值得拥有
2018/09/29 Python
pyqt5 从本地选择图片 并显示在label上的实例
2019/06/13 Python
Django实现web端tailf日志文件功能及实例详解
2019/07/28 Python
python Django 创建应用过程图示详解
2019/07/29 Python
Python+Opencv身份证号码区域提取及识别实现
2020/08/25 Python
荷兰超市:DEEN
2018/03/14 全球购物
ECHT官方网站:男女健身服
2020/02/14 全球购物
小学教师事迹材料
2014/01/13 职场文书
深入开展党的群众路线教育实践活动方案
2014/02/04 职场文书
祖国在我心中演讲稿500字
2014/05/04 职场文书
“九一八事变纪念日”国旗下讲话稿
2014/09/14 职场文书
银行授权委托书范本
2014/10/04 职场文书
期末个人总结范文
2015/02/13 职场文书
个人总结怎么写
2015/02/26 职场文书
2015年物业管理员工工作总结
2015/10/15 职场文书
2016年春季运动会通讯稿
2015/11/25 职场文书
Mybatis-plus配置分页插件返回统一结果集
2022/06/21 Java/Android