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