java:Catch语句中的逻辑操作

java:Catch语句中的逻辑操作,java,Java,我最近在代码中注意到Eclipse会自动生成它,但我无法理解它 catch (ClassNotFoundException | IOException e) {......} 这是什么意思ClassNotFoundException | IOException e e对象最终是类ClassNotFoundException或IOException的实例吗 这是一个捕获语句。如果抛出ClassNotFoundException或IOException,将执行该块中的内容 在JavaSE7之前的

我最近在代码中注意到Eclipse会自动生成它,但我无法理解它

catch (ClassNotFoundException | IOException e)  {......}
这是什么意思
ClassNotFoundException | IOException e


e
对象最终是类
ClassNotFoundException
IOException
的实例吗

这是一个捕获语句。如果抛出ClassNotFoundException或IOException,将执行该块中的内容

在JavaSE7之前的版本中,很难创建一个通用方法来消除重复的代码,因为变量ex具有不同的类型

以下示例(在Java SE 7及更高版本中有效)消除了重复的代码:

catch (IOException|SQLException ex) {
logger.log(ex);
throw ex;
}
catch子句指定块可以处理的异常类型,每个异常类型用竖线(|)分隔


来源:

这是一个catch语句。如果try中抛出ClassNotFoundException或IOException,则将执行该块中的内容block@Stultuske不要在评论中回答此语法仅在Catch语句中可用?是的,添加此语法是为了消除重复代码,java 7中引入了新版本的try,请看,你没必要用最后挡出我的好奇,问题出在哪里?我得到了“-1”?我不知道,但你应该在问之前搜索一下