汽车可能出现各种故障,但汽车本身并没有能力来处理这些故障,这些故障需要开车的人来处理。

当一个方法中可能会出现异常,但是这个方法自身并不想或者没有能力去处理这些异常的时候,那么可以在该方法的声明处通过throws关键字来声明抛出这个异常,谁接到了这个异常就由谁来处理这个异常(即,谁调用了这个方法谁就会来处理这个异常)

1.throws简单语法规则

通过前几篇博客可知,可以通过try-catch-finally来处理异常;但当一个方法不愿意处理异常的时候,就可以使用throws关键字声明异常,这样这个方法就可以不去处理可能出现的异常,相当于是“甩锅”给下一位。

Java异常十:使用throws声明异常类型


2.throws在使用时需要注意的点:

2.1)基本流程

Java异常十:使用throws声明异常类型

Java异常十:使用throws声明异常类型

Java异常十:使用throws声明异常类型

Java异常十:使用throws声明异常类型


2.2)throws抛出多个异常

Java异常十:使用throws声明异常类型

test()方法调用处也要添加对应数量及类型的catch块

Java异常十:使用throws声明异常类型


2.3)直接throws Exception这个异常的父类

Java异常十:使用throws声明异常类型

Java异常十:使用throws声明异常类型

Java异常十:使用throws声明异常类型

那么,当throws Exception的时候,方法调用处是不是也可以catch(ArithmeticException e),即针对不同的细分异常类型做处理呐?

是可以的,但需要注意,如果throws Exception了,方法调用处也必须得写上catch(Exception e)

 Java异常十:使用throws声明异常类型

经过实测发现可以throws ArithmeticException,Exception:

Java异常十:使用throws声明异常类型


2.4) 通过方法注释,让在调用方法时提示应该catch那些异常

Java异常十:使用throws声明异常类型

Java异常十:使用throws声明异常类型

相关文章:

  • 2021-11-12
  • 2022-12-23
  • 2021-08-14
  • 2022-12-23
  • 2022-12-23
  • 2021-08-08
  • 2021-11-07
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-11-03
  • 2021-11-18
  • 2022-12-23
  • 2020-04-26
  • 2021-06-13
相关资源
相似解决方案