除了可以使用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在方法的声明上。


点赞(0)

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

Dotcpp在线编译      (登录可减少运行等待时间)