Java获取e.printStackTrace()打印的信息方式
作者:小诸葛的博客 发布时间:2022-05-18 05:19:26
标签:Java,e.printStackTrace,打印
获取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()可以方便你调试程序!
来源:https://blog.csdn.net/LONG_Yi_1994/article/details/109724945


猜你喜欢
- 1.编写源代码编写源文件:CardLayoutDemo.java并保存,例如:I:\myApp\CardLayoutDemo.java。程序
- 前言今天我们来讨论一下,程序中的错误处理。在任何一个稳定的程序中,都会有大量的代码在处理错误,有一些业务错误,我们可以通过主动检查判断来规避
- 本文实例讲述了C#使用StopWatch获取程序毫秒级执行时间的方法。分享给大家供大家参考。具体分析如下:这个比时间通过DateTime在程
- 启动第二个服务时就会报如下的错误:Server failed to start for port 8080: Address already
- 服务降级服务压力剧增的时候,根据当前的业务情况及流量对一些服务和页面有策略的降级,以此缓解服务器的压力,以保证核心任务的进行。同时保证部分甚
- 本文实例讲述了java中Object类用法。分享给大家供大家参考。具体如下:1、Object类是所有java类的基类如果在类的声明中未使用e
- 前言OpenTelemetry作为一个分布式追踪的项目,他支持非常多的语言,如Java,Golang,Python等,鉴于笔者的主力语言为J
- 本文使用的开发环境是VS2017及dotNet4.0,写此随笔的目的是给自己及新开发人员作为参考,对于Join的用法说明如下:语法:publ
- 本文实例讲述了Java Socket使用加密协议进行传输对象的方法。分享给大家供大家参考,具体如下:前面的几篇文章介绍了Socket中一些常
- 前言InterruptedException异常可能没你想的那么简单!当我们在调用Java对象的wait()方法或者线程的sleep()方法
- 重载1.构造器的重载因为构造器的名字必须与类名相同,所以同一个类的所有构造器名肯定相同,构成重载;为了让系统能区分不同的构造器,多个构造器的
- 为大家分享的解决MyEclipse中的Building workspace问题的方法如下方法一:点击“Project”,取消勾选“Build
- 小编今天研究了在Unity3D中的数据持久化问题。数据持久化在任何一个开发领域都是一个值得关注的问题,小到一个应用中配置文件的读写,大到数据
- vue3新增effectScope相关的API其官方的描述是创建一个 effect 作用域,可以捕获其中所创建的响应式副作用 (即计算属性和
- Java——获取字符串编码格式判断一个字符串的编码格式: public static St
- Mybatis获取参数值的两种方式:${},#{}${}本质:字符串拼接,注意:单引号要加上#{}:本质:占位符赋值一、 Mybatis获取
- 一、SpringMvc概述SpringMVC是一个基于MVC设计模式的WEB层框架。SpringMVC设计模式:MVC,全名是(Model
- 摘要在生产环境下,我们需要关闭swagger配置,避免暴露接口的这种危险行为。方法禁用方法1:使用注解 @Value() 推荐使用packa
- zuul动态路由网关服务是流量的唯一入口。不能随便停服务。所以动态路由就显得尤为必要。数据库动态路由基于事件刷新机制热修改zuul的路由属性
- 前言话不多说,直接上图:笔者使用 RecyclerView 的 ItemTouchHelper 来实现这个效果,过程非常简单。为了学习,这里