在 Java 7 多捕获块中,捕获的异常的类型是什么

In a Java 7 multicatch block what is the type of the caught exception?(在 Java 7 多捕获块中,捕获的异常的类型是什么?)

本文介绍了在 Java 7 多捕获块中,捕获的异常的类型是什么?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在 Java 7 多捕获块中,如下所示:

In a Java 7 multicatch block such as the following:

try {
    // code that throws exception
} catch (CharacterCodingException | UnknownServiceException ex) {
    // handle exception
}

ex 的编译时类型是什么?它是两种异常类型共有的最派生类吗?在此示例中,这将是一个 IOException.

what is the compile-time type of ex? Is it the most derived class that both exception types have in common? In this example that would be an IOException.

推荐答案

是的,ex 的类型是 CharacterCodingExceptionUnknownServiceException 最具体的超类型,即 IOException.

Yes, the type of ex is the most specific supertype of both CharacterCodingException and UnknownServiceException, which would be IOException.

直接从马嘴里http://cr.openjdk.java.net/~darcy/ProjectCoin/ProjectCoin-Documentation-v0.83.html#multi_catch:

非正式地,lub(最小上限)是所讨论类型中最具体的超类型.

Informally, the lub (least upper bound) is the most specific supertype of the types in question.

这篇关于在 Java 7 多捕获块中,捕获的异常的类型是什么?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:在 Java 7 多捕获块中,捕获的异常的类型是什么

基础教程推荐