Java:catch的意义(最终的SomeException e)?最终关键字在这里有意义吗?

时间:2016-03-10 10:34:26

标签: java exception exception-handling final

以下是我的一些高级团队成员撰写的一些代码。

  private void getYourObjectByID(final long someId) {
            TypedQuery<LoanBusinessIndustry> v_objQuery;
            try {
                //Some Code JPA Read Write To Database 
            } catch (final Exception ex) {  //is final here makes any sense ?
                System.err.println("exception get at query getLoanBusinessIndustry=>" + ex.getMessage());
                this.logger.error("No Data found for getLoanBusinessIndustry=>" + ex.toString());
            }
        }

在方法getYourObjectByID(final long someId)的参数中,使得Id成为最终有意义。 someId值不应更改,因为Data Objects根据dbsomeId获取但是........

 //Complete Catch Block Implemented Code.
catch (final Exception ex) {  //is final here makes any sense ?
       System.err.println("exception get at query =>" + ex.getMessage());
       this.logger.error("No Data found for =>" + ex.toString());
                }

catch()阻止Exception类对象ex作为final。它是否真的有意义,因为我们正在处理此异常Catch阻止它自己不尝试Rethrow

  

问题:catch中使用的最终关键字是否有任何意义?????

1 个答案:

答案 0 :(得分:2)

添加final关键字只是明确了variable隐式最终的事实。 Java Language Specification states(强调我自己):

  

try-with-resources语句的资源(§14.20.3)和multi-catch子句的异常参数(§14.20)隐式声明为final