好房网

网站首页常识百科 >正文

throw(new RuntimeException(e)与e.printStackTrace( )有什么区别介绍 throw new RuntimeException(e)与e.printStackTrace( )有什么区别详细情况如何)

2022-08-01 12:21:54 常识百科来源:
导读 想必现在有很多小伙伴对于throw new RuntimeException(e)与e.printStackTrace( )有什么区别方面的知识都比较想要了解,那么今天小好小...

想必现在有很多小伙伴对于throw new RuntimeException(e)与e.printStackTrace( )有什么区别方面的知识都比较想要了解,那么今天小好小编就为大家收集了一些关于throw new RuntimeException(e)与e.printStackTrace( )有什么区别方面的知识分享给大家,希望大家会喜欢哦。

1、e.printStackTrace( )是打印异常栈信息,而throw new RuntimeException(e)是把异常包在一个运行时异常中抛出。

2、我们常看见这种写法

3、try{

4、版权政然归芝只士回答网又站或原作者所改有

5、....

6、}catch(Exception e){

7、地就如去开因任器受,己万整。

8、e.printStackTrace( );

9、种日那条无位长知角西光,济积许越复除族。

10、throw new RuntimeException(e);

11、}

12、这是处理没法进一步处理的异常的一般做法。try块中出现了一个异常,它被catch住了,我们首先要在标准输出上打印出异常但是如果没有throw这句,这个错误就静悄悄地被catch块吃掉了,程序会继续运行。可这个时候很可能你的程序的状态已经不对了,继续下去也没有什么意义,所以应该继续抛出这个异常。你当然可以写throw e;,但是这个e是一般的异常,如果这样抛出的话,你得在这个函数头上用throws来声明,比如:

13、public void abc() throws Exception

14、然后调用这个函数的函数也还得这么干,所以一般的处理是把e包装成运行时异常:new RuntimeException(e),这样就不需要在函数头声明了。

15、但这只是一般的处理方法,在实际程序中不可不顾实际情况和需求生搬硬套。

本文到此结束,希望对大家有所帮助。


版权说明:本文由用户上传,如有侵权请联系删除!


标签:

最新文章:

热点推荐
热评文章
随机文章