抛出异常throw、throws
抛出异常有三种形式:一种是throw,另一种是throws,还有一个系统自动手抛异常
系统自动手抛异常
![[外链图片转存失败(img-ZADLLvyW-1564366118264)(C:\Users\81509\myblog\content\images\系统异常.png)]](https://i-blog.csdnimg.cn/blog_migrate/aeebd06e0984d4447da1c8553bed785f.png)
throw:是语句抛出一个异常,自己手动抛出某些特定类型的异常
![throw](https://i-blog.csdnimg.cn/blog_migrate/24d13f6cd104a22588c645a2927438b3.png)
throws:是方法可能出现的异常用于throws声明,交给上层调用,自身并不主动处理
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/531f8abaa487a269ddf80067182a6f2f.png)
throw与throws的比较
- throws出现在方法头中,throw出现在方法体中
- throw是抛出异常,执行throw则一定会出现某种异常,throws是出现异常的可能性,并不一定会发生
- throw和throws只是抛出或者可能抛出异常,但是不会由函数去处理异常,真正的处理异常由函数的上层调用处理。