在讨论多重捕捉/组合捕获块
here之间的术语“多重捕获块”的含义时,意味着Java 7功能:
try { .. } catch (ExceptionA | ExceptionB ex) { .. }
和“多个catch块”,意思是字面上的多个catch块:
} catch (ExceptionA exa) { .. } catch (ExceptionB exb) { .. }
我已经研究了Java 7功能是否具有一个特定的官方名称,可以用来清楚地区分它与捕捉多个异常的旧样式.但是,Oracle sources似乎并没有将此功能命名为任何地方,而其他一些来源(如Eclipse和SO)将其称为“多重捕获”块.
是否有任何官方的Oracle授予的名称?
解决方法
Java Language Specification section 14.20指的是单捕和多抓的条款,这是与官方一样.
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之前没有多个catch子句,所以在引入multi-catch之前,术语“uni-catch”是不必要的.
多catch的术语不同于具有多个(多个,多个)catch子句.