開發過程中,我們會經常遇到異常,我們如何處理呢?
要么catch異常,要么異常拋出,這時候,我們會對catch異常時對try、catch及finally認識不清楚。這里,我們就清楚地認識一下。
try的使用:對可能出現異常的代碼進行包圍,與catch、finally連用,這里try必須有,且至少與catch、finally中的一個連用,用法:
try { //可能出現異常的部分 } catch (Exception e) { //捕獲到的異常處理 }finally { //不管有沒有出現異常,都會執行的部分 } //異常處理后執行的部分
其實這是基本的結構,我們一般容易混淆的地方是方法有返回值的情況。
我們拿以下代碼演示:
public int getEndStrs(){ int num = 5; System.out.println("執行開始!"); try { if(num/0 == 1){ System.out.println("str==00判斷成功!"); }else{ System.out.println("str==00判斷失敗!"); } } catch (Exception e) { System.out.println("str==00執行異常!"); return 0; } finally { System.out.println("finally執行成功!"); return 1; } // return 2; }
執行結果是:
執行開始! str==00執行異常! finally執行成功! int值為:1
執行過程是,異常出現后,進入catch中,不會直接返回0,先查看是否有finally,如果有finally,執行finally中的return,覆蓋掉了catch中的return,如果沒有finally,我們才會執行catch中的return 0,這是有返回值的情況。當然,還有沒有返回值的情況,更簡單,就不啰嗦了。