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 相关文章推荐
使用feign服务调用添加Header参数
Jun 23 Java/Android
java设计模式--三种工厂模式详解
Jul 21 Java/Android
java多态注意项小结
Oct 16 Java/Android
关于MybatisPlus配置双数据库驱动连接数据库问题
Jan 22 Java/Android
java协程框架quasar和kotlin中的协程对比分析
Feb 24 Java/Android
Java实战之课程信息管理系统的实现
Apr 01 Java/Android
Java 数据结构七大排序使用分析
Apr 02 Java/Android
springboot用户数据修改的详细实现
Apr 06 Java/Android
Java 超详细讲解ThreadLocal类的使用
Apr 07 Java/Android
java版 联机五子棋游戏
May 04 Java/Android
OpenFeign实现远程调用
Aug 14 Java/Android
Springboot集成kafka高级应用实战分享
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
joomla jce editor 解决上传中文名文件失败问题
2013/06/09 PHP
PHP中$this和$that指针使用实例
2015/01/06 PHP
如何使用php脚本给html中引用的js和css路径打上版本号
2015/11/18 PHP
PHP实现文件上传后台处理脚本
2020/03/04 PHP
PHP变量的作用范围实例讲解
2020/12/22 PHP
谈谈JavaScript中的函数与闭包
2013/04/14 Javascript
各种页面定时跳转(倒计时跳转)代码总结
2013/10/24 Javascript
js中window.open()的所有参数详细解析
2014/01/09 Javascript
JavaScript中实现sprintf、printf函数
2015/01/27 Javascript
jQuery实现冻结表格行和列
2015/04/29 Javascript
学习使用jquery iScroll.js移动端滚动条插件
2020/03/24 Javascript
ionic实现可滑动的tab选项卡切换效果
2020/04/15 Javascript
easyUI实现类似搜索框关键词自动提示功能示例代码
2016/12/27 Javascript
JS实现旋转木马式图片轮播效果
2017/01/18 Javascript
angularjs $http实现form表单提交示例
2017/06/09 Javascript
Angularjs cookie 操作实例详解
2017/09/27 Javascript
用React实现一个完整的TodoList的示例代码
2017/10/30 Javascript
koa2 从入门到精通(小结)
2019/07/23 Javascript
vue+eslint+vscode配置教程
2019/08/09 Javascript
vue el-table实现自定义表头
2019/12/11 Javascript
Vue 禁用浏览器的前进后退操作
2020/09/04 Javascript
openlayers实现图标拖动获取坐标
2020/09/25 Javascript
Python中unittest模块做UT(单元测试)使用实例
2015/06/12 Python
Python3 处理JSON的实例详解
2017/10/29 Python
python负载均衡的简单实现方法
2018/02/04 Python
Flask框架实现给视图函数增加装饰器操作示例
2018/07/16 Python
django主动抛出403异常的方法详解
2019/01/04 Python
python通过实例讲解反射机制
2019/10/17 Python
HTML5 解决苹果手机不能自动播放音乐问题
2017/12/27 HTML / CSS
美国购买和销售礼品卡平台:Raise
2017/01/13 全球购物
阿姆斯特丹杜莎夫人蜡像馆官方网站:Madame Tussauds Amsterdam
2019/03/12 全球购物
教师绩效工资方案
2014/02/01 职场文书
2014年度党员自我评议
2014/09/13 职场文书
培训学校2015年度工作总结
2015/07/20 职场文书
用Python创建简易网站图文教程
2021/06/11 Python
小程序实现文字循环滚动动画
2021/06/14 Javascript