异常结构层次
在Java中,异常分为checked
与unchecked
,他们都在一个分类层次中,如下图。
其中,红色的异常是checked
异常,意味着在一个方法中,他们throw
后必须catch
或者declare
。
另一种颜色的为unchecked
异常,他们的异常不需要被recover
。
异常处理
在Java中,调用某方法,就必须处理被调用方法抛出的异常,同时超类也可以用来捕获或者处理子类异常。
调用方法必须处理被调用方法抛出的异常
下面是一个处理异常的程序。我们可以测试一下,如果在一个方法中抛出一个异常,不仅是该方法,而且所有调用该方法的方法都必须声明或抛出异常。
1 |
public class exceptionTest { |
超类可以用来捕获或处理子类异常
可以使用如下代码验证。
1 |
class myException extends Exception{ |
这也就是为什么catch子句只有一个父类在语法上安全的原因。
The link of this page is https://blog.nooa.tech/articles/1164dab2/ . Welcome to reproduce it!