在单个处理程序catch
语句处理多个异常的情况下,为什么参数是隐式final
?
catch (IOException|SQLException ex) {
logger.log(ex);
throw ex;
}
在这个代码中ex是final
。为什么会这样呢?
否则,您可能会想写ex = new IOException();
这样的东西,但由于类型实际上不是IOException
或SQLException
,它将以一种奇怪的方式破坏类型安全。