问题
catch (IOException|SQLException ex) {
logger.log(ex);
throw ex;
}
here why is ex implicitly final? What is the use of making ex implicitly final?
回答1:
It's implicitly final because it does not make sense for you to change the object pointed to by ex, especially in this case where it could be either an IOException or an SQLException, and thus the (static) assignment typing would be difficult to figure out by the compiler.
来源:https://stackoverflow.com/questions/7737257/why-is-the-catch-parameter-implicitly-final