如果单个处理程序catch
语句处理多个异常,为什么该参数是隐式的final
?
catch (IOException|SQLException ex) {
logger.log(ex);
throw ex;
}
在此代码中,ex是final
。为什么会这样?
答案 0 :(得分:3)
否则你可能会想写ex = new IOException();
之类的东西,但由于该类型实际上不是IOException
或SQLException
,它会以奇怪的方式打破类型安全。