隨堂筆記160317異常類

一、異常類

1.所有異常對象的父類都是Exception

2.關鍵詞:

try{
    //可能出現異常的代碼
}catch(Exception e){
    //捕捉到異常後執行的代碼
}finally{
    無論是否捕捉到異常,都執行該段代碼
}

3.關於異常類的知識點:

  1. 異常處理機制可以讓異常出現時代碼還能正常運行
  2. try中一旦拋出了異常則由catch捕捉後執行catch的代碼
  3. finally中的代碼一定會執行,只有一種情況不會執行(虛擬機被關閉,虛擬機關閉代碼System.exit(0))
  4. 可以有多個catch來捕獲多個精確的異常
  5. 處理異常的原則:誰使用誰處理
  6. 異常不能拋給虛擬機,儘量在首次調用時就解決

4.異常拋出(throws throw):

  1. throws 聲明該方法可能拋出某個或多個異常
  2. throw 拋出某個異常

    class Person{
        public void test() throws Exception{
        //  聲明該方法會拋出異常
            String name = null;
            if(name.equals("admin")){
                //
            }
        }
    }
    
    class Person{
        public void test() throws Exception{
            throw new Exception("被拋出的異常");
        }
    }
    

5.自定義異常

class MyException extends Exception{
    public MyException(){
        super("這是自定義的異常");
    }
}

6.RuntimeExcepiton

  1. RuntimeExcepiton 叫做 運行時異常
  2. 此異常不需要throws聲明,也可以不用try/catch來捕捉,可拋給虛擬機(只有在虛擬機正常運行時)

7.一個方法被重寫時,重寫的方法必須拋出相同的異常或該異常的子類,不能拋出新的異常

8.如果父類拋出多個異常,那麼重寫方法必須拋出那些異常或者那些異常的子集,不能拋出新的異常

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章