異常與錯誤0919

                                          課堂筆記

1. 異常的產生

異常:描述出錯信息的對象(本質是對象)。

Exception爲所有異常的父類,可以捕獲,也可以處理。

Error 爲所有錯誤的父類,可以捕獲,不能處理。

它們共同的父類是throwable.

可以通過一個語句來捕獲異常,

try{

      pro.load(newFileReader("word.txt"));

//異常塊

   }catch(Exception e){

// Exception e,用Exception這個父類對象和一個變量e來接收一個異常。

     System.out.println("no");

 }

e.printStackTrace();//把異常打印出來

此代碼執行的流程:

l  Try代碼塊若出現異常,就直接結束整個代碼塊的程序,執行Catch後面代碼塊的語句,然後就跳出整個異常代碼塊繼續執行。

l  若整個代碼塊無異常,則直接跳過整個Try和Catch語句塊,在此語句後面執行代碼。

//自己總結

l  張老師的課堂總結:異常的執行順序;

先執行Try塊,順序執行。如果有異常發生,那麼轉去catch塊執行。同時終止try塊的其他代碼。無論是否有異常,finally都會執行。

Finally是和try {} catch{}連用的語句塊,表示無論有異常的發生,都會執行額語句塊。如果try和catch塊中,有return語句,那麼在跳出方法之前執行。但是如果虛擬機關閉(system.exit.(0)), Finally纔不會執行。所有,Finally一般用於資源清理操作,比如流的關閉,數據庫的關閉。

l  如果一個try塊後面定義了多個catch塊。當try塊中有異常發生時,只會執行第一個匹配異常的catch塊,其餘的catch塊會忽略。

l  異常的分類:

編譯期異常和運行期異常;

編譯期異常:要求開發者必須處理的異常,如果不處理,那麼編譯錯誤。

運行期異常:不處理,能編譯,會報錯。用RuntimeException的子類異常來判斷。如果不是RuntimeException的子類,那麼就是編譯期異常。

l  Thrownew NullPointException()//創建一個異常對象,然後顯示拋出。與系統捕獲異常並顯示是一樣的。

l  Throws關鍵字:

Throws與Throw的區別,Throw是一條語句,表示顯示拋出某個異常對象。Throw newNullPointException():

Throws是方法修飾符,表示某個方法可能會拋出某個異常。那麼在調用該方法時,就必須處理該方法拋出的異常。

 

l  垃圾回收器,回收沒有被變量所指向的對象。程序員不能干預垃圾回收,但是可以通過調用System.gc().加快垃圾回收速度。

 

 

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