finally語句塊的有限範圍(skycto JEEditor)
finally語句塊一定執行嗎?
答案是不一定。
直接返回未執行到finally語句塊
丟擲異常未執行到finally語句塊
系統退出未執行到finally語句塊
...
存在很多特殊情況導致finally語句塊不執行。
程式碼如下
public static String test() {
String str = null;
int i = 0;
if (i == 0) {
return str;//直接返回未執行到finally語句塊
}
try {
System.out.println("try...");
return str;
} finally {
System.out.println("finally...");
}
}
public static String test2() {
String str = null;
int i = 0;
i = i / 0;//丟擲異常未執行到finally語句塊
try {
System.out.println("try...");
return str;
} finally {
System.out.println("finally...");
}
}
public static String test3() {
String str = null;
try {
System.out.println("try...");
System.exit(0);//系統退出未執行到finally語句塊
return str;
} finally {
System.out.println("finally...");
}
}
————————————————
版權宣告:本文為CSDN博主「ConstXiong」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處連結及本宣告。
原文連結:https://blog.csdn.net/meism5/article/details/89177179
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69947338/viewspace-2657328/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- final、finally、finalize()的區別(skycto JEEditor)
- return與finally的執行順序的影響(skycto JEEditor)
- Java中文分片語件 - word分詞(skycto JEEditor)Java分詞
- final關鍵字的作用(skycto JEEditor)
- hashCode()和equals()的區別?(skycto JEEditor)
- Map集合(Java基礎、skycto JEEditor)Java
- JavaScript try catch finally 語句JavaScript
- JavaScript try/catch/finally 語句JavaScript
- C++之for迴圈、範圍for語句探究C++
- jvm的記憶體引數配置(skycto JEEditor)JVM記憶體
- 小白科普:敏捷軟體開發(skycto JEEditor)敏捷
- JavaWeb DWR使用總結(skycto JEEditor框架功能)JavaWeb框架
- final與static關鍵字的區別?(skycto JEEditor)
- 眼鏡 進銷存 ERP設計(skycto JEEditor)
- 智慧場館&科技館 智慧控制 建設方案(skycto JEEditor)
- 四川科技館 智慧控制 協議設計(skycto JEEditor)協議
- SQL語句規範的寫法SQL
- 表示式和基本語句的規範
- 敏捷開發詳解(含義、原則、目標、機制、skycto JEEditor)敏捷
- SQL語句規範總結SQL
- finally語句在return執行之後,return返回之前執行
- 一行程式碼引發的”血案“!!!(軟體開發、專案管理、skycto JEEditor)行程專案管理
- 根據某個查詢條件的前50條資料來決定UPDATE語句的更新範圍
- 學習Java虛擬機器沒用? 聽聽當事人是怎麼說的!(skycto JEEditor)Java虛擬機
- C語言程式生成指定範圍的不重複的隨機數C語言隨機
- 四川科技館 智慧控制 物聯網 AI 資料採集 智慧控制(JNative、skycto JEEditor)AI
- 範圍分割槽
- 軟考——範圍
- 隨機範圍小數和隨機範圍整數隨機
- JavaScript 限定範圍的拖拽效果JavaScript
- 列舉範圍內的字串字串
- 關於SAP的MRP範圍
- Range範圍選區的理解
- MySQL欄位的取值範圍MySql
- C語言——使用函式輸出指定範圍內的Fibonacci數C語言函式
- flask之控制語句 if 語句與for語句Flask
- SciPy 應用範圍
- JavaScript 拖拽限定範圍JavaScript