17-使用多catch块处理异常
7.5.1 使用多catch块处理异常
try-catch语句中的catch块可以捕获异常,被捕获的异常可以是所有异常或者程序员需要捕获的某类异常。实际上,一个try-catch语句中可以包含多个catch块,每个catch块用来捕获一类异常。出现异常时,将执行第一个能够处理该异常的catch块,而忽略其他catch块,即使其他catch指定的异常类型能够兼容要被处理的异常。
例如,
try
{
}
catch(异常类型1)
{
}
catch(异常类型2)
{
}
…
catch(异常类型n)
{
}
由于异常类型之间存在继承和派生关系,有可能某个异常能够被多个异常类型兼容。因此,catch块的排列次序需要从具体到通用,即把处理具体类型异常的catch块放在前边,而把兼容多种异常类型的catch块放在后边。