是否有Java 7的组合/多捕获块的正式名称?

时间:2015-05-08 01:13:17

标签: java naming multi-catch

在讨论多重捕获/组合捕获块here时,术语“多捕获块”之间含糊不清,意味着Java 7特性:

try { .. } catch (ExceptionA | ExceptionB ex) { .. }

和“多个catch块”,意思是字面上的多个catch块:

} catch (ExceptionA exa) { ..
} catch (ExceptionB exb) { .. }

我已经研究过,看看Java 7功能是否有一个特定的官方名称,可以用它来清楚地区分它与捕获多个异常的旧版本。但是,Oracle sources似乎没有在任何地方命名此功能,而其他一些来源(如EclipseSO)将其称为“多捕获”块。

这个功能在任何地方都有正式的,Oracle给出的名称吗?

1 个答案:

答案 0 :(得分:13)

Java Language Specification section 14.20指的是 uni-catch multi-catch 条款,这些条款与官方条款相同。

  

将其例外参数表示为单个类类型的catch子句称为 uni-catch 子句。

     

一个catch子句,其exception参数表示为类型的并集,称为 multi-catch 子句。

当然,在Java 7之前没有多捕获条款,所以术语" uni-catch"在引入多捕获之前,我们从来没有必要。

术语 multi-catch 与拥有多个(多个,多个)catch子句不同。