Throw和Throws详解

Throw和Throws详解

1.throw是什么?有什么用?

​ throw是java中关于异常的一种操作,如果在try{}catch{}中使用了throw,就代表自己书写的这个方法,可以自己 处理异常了,就是抛出的一个动作,可以使程序停止并报出异常原因,基本实现了程序自己检测到了自己本身的异常 而终止了程序,好处是,可以在自己定义的地方报出异常停止程序运行,而不是在错误的地方立即报出异常,停止程 序,可以使自己书写的程序可以自己检测错误了,而不需要最后一道防线JVM处理错误。

​ 如果没使用的话,报错的时候只能是JVM虚拟机来进行默认的报错处理(立即在报错位置停止程序运行,报出 异常原因),表示只能依靠JVM虚拟机来检测并上报错误。

2.throws是什么?有什么用?

​ throws关键字通常被应用在声明方法时,用来指定可能抛出的异常。声明之后,可以让java的编译器对这个java 文件进行正常编译class文件,一但运行class文件,期间出现错误,JVM虚拟机就会检测错误,停止程序的运行, 并报出异常信息。

3.throw和throws的区别

​ throws语句用在方法声明后面,表示抛出异常,由该方法的调用者来处理。

​ throws主要是声明这个方法会抛出这种类型的异常,使它的调用者知道要捕获这个异常。
​ throw是当程序出现某种逻辑错误时由程序员主动抛出某种特定类型的异常是,具体向外抛异常的动作,所以它 是抛出一个异常实例。

4.throw与throws的比较
1、throws出现在方法函数头;而throw出现在函数体。
2、throws表示出现异常的一种可能性,并不一定会发生这些异常;throw则是抛出了异常,执行throw则一定抛出了 某种异常对象。
3、两者都是消极处理异常的方式(这里的消极并不是说这种方式不好),只是抛出或者可能抛出异常,但是不会由 函数去处理异常,真正的处理异常由函数的上层调用处理。

5. throw e 和 e.printStackTrace()区别

扫描二维码关注公众号,回复: 10954284 查看本文章

​ throw e 是抛出异常,会中断程序,后面的代码都不执行了。
​ e.printStackTrace() 是输出错误日志,并不中断程序。

在这里插入图片描述

发布了5 篇原创文章 · 获赞 4 · 访问量 15

猜你喜欢

转载自blog.csdn.net/qq_45218334/article/details/105618978