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分詞
- 關於 Java 中 finally 語句塊的深度辨析Java
- Java的finally語句Java
- Map集合(Java基礎、skycto JEEditor)Java
- final關鍵字的作用(skycto JEEditor)
- hashCode()和equals()的區別?(skycto JEEditor)
- C++之for迴圈、範圍for語句探究C++
- jvm的記憶體引數配置(skycto JEEditor)JVM記憶體
- 小白科普:敏捷軟體開發(skycto JEEditor)敏捷
- JavaWeb DWR使用總結(skycto JEEditor框架功能)JavaWeb框架
- JavaScript try catch finally 語句JavaScript
- JavaScript try/catch/finally 語句JavaScript
- final與static關鍵字的區別?(skycto JEEditor)
- 眼鏡 進銷存 ERP設計(skycto JEEditor)
- 智慧場館&科技館 智慧控制 建設方案(skycto JEEditor)
- JavaScript變數 沒有塊範圍JavaScript變數
- 四川科技館 智慧控制 協議設計(skycto JEEditor)協議
- SQL語句規範的寫法SQL
- 敏捷開發詳解(含義、原則、目標、機制、skycto JEEditor)敏捷
- SQL語句規範總結SQL
- 一行程式碼引發的”血案“!!!(軟體開發、專案管理、skycto JEEditor)行程專案管理
- oracle 全表掃描,索引範圍掃描與塊的理解Oracle索引
- java中異常處理finally和return語句的執行順序Java
- 根據某個查詢條件的前50條資料來決定UPDATE語句的更新範圍
- finally語句在return執行之後,return返回之前執行
- PostgreSQL10.0preview功能增強-回滾範圍可精細控制(事務、語句級)SQLView
- MongoDB的適用範圍MongoDB
- 學習Java虛擬機器沒用? 聽聽當事人是怎麼說的!(skycto JEEditor)Java虛擬機
- 公司公司程式碼業務範圍成本控制範圍概念
- Effective C#:利用using和try/finally語句來清理資源C#
- 隨機範圍小數和隨機範圍整數隨機
- C語言程式生成指定範圍的不重複的隨機數C語言隨機
- [JavaScript] {}解釋為語句塊,物件的toStringJavaScript物件
- JavaScript 限定範圍的拖拽效果JavaScript
- MySQL欄位的取值範圍MySql
- 各類IP地址的範圍