在 oracle 官方网站上写:( http://docs.oracle.com/javase/7/docs/technotes/guides/language/catch-multiple.html#rethrow)
具体来说,在 Java SE 7 及更高版本中,当您在 catch 子句中声明一种或多种异常类型,并重新抛出由该 catch 块处理的异常时,编译器会验证重新抛出的异常的类型是否满足以下条件:
try 块能够抛出它。
没有其他前面的 catch 块可以处理它。
它是 catch 子句的异常参数之一的子类型或超类型。
请专注于第三点(它是 catch 子句的异常参数之一的子类型或超类型。)
它的真正含义是什么?你能给我看看这方面的例子吗?我不能清楚地理解它。