温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Java获怎么取e.printStackTrace()打印的信息

发布时间:2021-08-06 23:48:37 来源:亿速云 阅读:143 作者:chen 栏目:开发技术

这篇文章主要介绍“Java获怎么取e.printStackTrace()打印的信息”,在日常操作中,相信很多人在Java获怎么取e.printStackTrace()打印的信息问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”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()可以方便你调试程序!

到此,关于“Java获怎么取e.printStackTrace()打印的信息”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI