汽车可能出现各种故障,但汽车本身并没有能力来处理这些故障,这些故障需要开车的人来处理。
当一个方法中可能会出现异常,但是这个方法自身并不想或者没有能力去处理这些异常的时候,那么可以在该方法的声明处通过throws关键字来声明抛出这个异常,谁接到了这个异常就由谁来处理这个异常(即,谁调用了这个方法谁就会来处理这个异常)
1.throws简单语法规则
通过前几篇博客可知,可以通过try-catch-finally来处理异常;但当一个方法不愿意处理异常的时候,就可以使用throws关键字声明异常,这样这个方法就可以不去处理可能出现的异常,相当于是“甩锅”给下一位。
2.throws在使用时需要注意的点:
2.1)基本流程
2.2)throws抛出多个异常
test()方法调用处也要添加对应数量及类型的catch块
2.3)直接throws Exception这个异常的父类
那么,当throws Exception的时候,方法调用处是不是也可以catch(ArithmeticException e),即针对不同的细分异常类型做处理呐?
是可以的,但需要注意,如果throws Exception了,方法调用处也必须得写上catch(Exception e)
经过实测发现可以throws ArithmeticException,Exception: