异常类层次结构
异常类层次结构从java.lang.Throwable
类开始。当抛出异常时,它必须是Throwable
类的对象或其任何子类。
catch
块的参数必须是Throwable
类型或其子类,例如:Exception
,ArithmeticException
,IOException
等。
可以通过继承一个异常类类来创建自己定义的异常类。
组织排列多个catch块
Java运行时选择适当的catch
块,并从第一个catch
块开始顺序寻找合适的catch
块。try
块的多个catch
块必须从最具体的异常类型排列为最通用的异常类型。
以下代码使用多个catch
块的有效序列。
ArithmeticException
类是RuntimeException
类的子类。
如果这两个异常都在同一个try
块的catch
块中处理,那么最具体的类型,即 ArithmeticException
,必须出现在最通用的类型之前,即放在RuntimeException
异常类之前。