try/catch/finally的區別與聯系


          開發過程中,我們會經常遇到異常,我們如何處理呢?

          要么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,這是有返回值的情況。當然,還有沒有返回值的情況,更簡單,就不啰嗦了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM