-
第一种方式:
在方法声明的位置上使用throws关键字抛出,谁调用我这个方法,我就抛给谁。抛给调用者来处理。
这种处理异常的态度:上报。
-
第二种方式:
使用try…catch语句对异常进行捕捉。
这个异常不会上报,自己把异常事件处理了。
异常抛到此处位置为止,不在上抛了。
以上两种方法只出现在”编译时异常“。
- 一般不建议在main方法上使用throws,因为这个异常如果真正的发生了,一定会抛给JVM。JVM只有中止。
- 子类不能比父类抛出更多的异常。所以一些子类的重写方法throws向上抛异常时报错但是try···catch可以
- 为什么我们在调用类的某些方法时,方法会报红呢?因为我们调用的这些方法都向上抛出了异常(第一种方式)