2021-08-06 22:00:12
某些情况下,我们需要获取应用打印的异常信息,这时就可以借助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初始化,也就是实例化Exception类型的对象,e是此对象引用名称。然后e(引用)会自动调用Exception类中指定的方法,也就出现了e.printStackTrace()。
System语句可以提示你异常发生的位置;但e.printStackTrace()可以显示更深的调用关系。
例如:程序中有继承的关系
Rose extends Flower ; Flower extends Plant;假如我们在创建 Rose
的时候发生异常,那么System语句就会输出异常 at Rose ,然后向外层输出
但e.printStackTrace()输出除了标准异常外,打印 at Plant at Flower at Rose
…….再向外层调查。 在向外层调查的情况下,都一样
当发生异常时显示你自己设定的字符串信息;e.printStackTrace();是打印异常的堆栈信息,指明错误原因。
note:其实当发生异常时,通常要处理异常,这是编程的好习惯,所以e.printStackTrace()可以方便你调试程序!
以上为个人经验,希望能给大家一个参考,也希望大家多多支持。
原文链接:http://www.yuepc.com/a/152623.html
http://www.yuepc.com 为 “沈一博客” 唯一官方服务平台,请勿相信其他任何渠道。
2021-01-26
2021-07-02
2021-02-06
2021-05-08
2021-04-23
2021-05-09
2021-06-09
2021-06-30
2021-06-10
2021-06-13