在讨论多重捕获/组合捕获 block 时 here术语“多个 catch block ”之间存在歧义,意思是 Java 7 特性:
try { .. } catch (ExceptionA | ExceptionB ex) { .. }
和“多个 catch block ”,字面意思是多个 catch block :
} catch (ExceptionA exa) { ..
} catch (ExceptionB exb) { .. }
我研究过 Java 7 功能是否有一个特定的官方名称,可以用来清楚地区分它与捕获多个异常的旧样式。然而,Oracle sources似乎没有在任何地方命名此功能,而其他一些来源(如 Eclipse 和 SO )称其为“多捕获” block 。
这个特性有官方的 Oracle 命名吗?
最佳答案
Java Language Specification section 14.20指的是 uni-catch 和 multi-catch 子句,这几乎是官方的。
A catch clause whose exception parameter is denoted as a single class type is called a uni-catch clause.
A catch clause whose exception parameter is denoted as a union of types is called a multi-catch clause.
当然,在 Java 7 之前,没有 multi-catch 子句,因此在引入 multi-catch 之前,术语“uni-catch”从来都不是必需的。
术语multi-catch 不同于具有多个(多个)catch 子句。
关于java - Java 7 的组合/多捕获 block 是否有正式名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30114234/