除了可以使用try…catch语句和try…catch…finally语句处理异常以外,还可以使用throws处理异常。
在开发中,有的时候我们没有权限处理该异常,我们不知道该如何处理异常,或者不想处理异常,这种情况下我们可以将异常抛出,抛出给调用者处理。
throws处理异常的格式:
[访问权限修饰符] 返回值类型 方法名(参数列表) [throws 异常类名]{ 方法体; [return 返回值]; }
注意事项:
1)抛出异常的处理方法千万不能抛出给JVM处理[主方法]。
2)如果一个方法抛出的是一个编译时异常,那么调用者必须处理。
3)如果一个方法抛出的是一个运行时异常,可以处理也可以不处理,建议处理,提高程序的安全性。
4)子类重写的方法声明的异常不能够被扩大。
5)throws表示一种异常发生的可能性,可以声明多个异常类。
throw异常处理方法:
格式: throw 异常对象;
注意:我们可以发现其实throw和throws的作用都是将异常抛出给调用者或者虚拟机来处理,但是两者有个根本区别就是throw抛出的是异常对象,而throws声明的是异常类。
throw和throws区别:
1)throw抛出的是异常对象,throws声明的是异常类。
2)throw只能够抛出一个对象,throws可以声明多个异常类。
3)throw表示异常已经发生,throws是一种异常的可能性。
4)throw在方法体内出现,throws在方法的声明上。
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程