java – 使用try-catch-finally返回类型
发布时间:2020-12-14 19:37:31 所属栏目:Java 来源:网络整理
导读:参见英文答案 Java’s return value in try-catch-finally mechanism4个 我试过以下代码片段: private Integer getnumber() { Integer i = null; try { i = new Integer(5); return i; } catch(Exception e) { return 0; } finally { i = new Integer(7); }
参见英文答案 >
Java’s return value in try-catch-finally mechanism4个
我试过以下代码片段: private Integer getnumber() { Integer i = null; try { i = new Integer(5); return i; } catch(Exception e) { return 0; } finally { i = new Integer(7); } } 此方法返回5而不是7.
提前致谢. 解决方法
发生这种情况是因为try..catch的finally块最终在try..catch中的代码完成后运行(无论成功与否);在您的代码的情况下,这是返回i发生的时间.
由于这种行为,在您为其分配新值7之前,i的值已经被放入方法的返回变量中.以下将有效: private Integer getnumber(){ Integer i = null; try { i = new Integer(5); } catch(Exception e){ i = new Integer(0); } finally{ i = new Integer(7); } return i; } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |