<JAVA>總結實錄01 : 異常處理 try-catch-finally

來源:互聯網
上載者:User

標籤:

本來課程學習中對異常處理機制學的不深,結果今天做CVTE校招線上測評的時候,遇見了兩道這樣的題(一道打頭第一題,一道押尾倒數第二道),好憂桑啊。。

那麼亡羊補牢,總結下好了~ 

1. 異常處理塊

 1 try{ 2      //可能產生異常的語句 3 }catch(Exception1 e){ 4     //出現異常Excertion1時的處理語句 5 }catch(Exception2 e){ 6     //出現異常Excertion2時的處理語句 7 }finally{ 8     //無論如何均會執行的語句(一般用於釋放一些資源等) 9 }10 //期間異常Exception1不能是Exception2的基類,Exception1可為Exception2的子類
異常處理塊方式一
1 public void method() throws Exception1{2     //在方法名後直接拋出異常Exception13 }
異常處理塊方式二

方式一(捕獲異常)try-catch可以嵌套使用構成嵌套try-catch塊;

方式二(拋出異常)可以拋出多個異常,即throws後可以添加一個異常列表,異常名之間用逗號分隔。

PS:printStackTrace()方法用來跟蹤例外狀況事件發生時列印堆棧中的資訊(Throwable對象)

2. finally子句

在任何情況下,finally塊中的語句均會執行,無論try塊中是否出現異常或者是否捕獲了異常;

finally子句通常用於I/O編程,可在finally塊中放置一條檔案關閉語句。

PS:1)若try塊中沒有出現異常,finally塊中語句被執行,然後跳出異常處理塊執行下一條語句;

  2)若try塊中有一個語句出現異常,並被catch塊捕獲,此時跳過try塊中其他語句直接執行catch塊和finally子句

  3)若try塊中有一個語句出現異常,但是沒有被任何catch塊捕獲,則會跳過try塊中其他語句直接執行finally子句

  4)即使在到達finally塊之前有return語句,finally塊仍然會執行,但是finally子句執行前,已經完成了return後運算式傳回值的運算(並儲存起來),順序如下:

  try語句(return之前的代碼部分)---計算return需要返回的值---finally---執行try中的 return語句

(含有return的執行順序總結,詳細可參看http://blog.csdn.net/kavensu/article/details/8067850  “3Q啦博主,小女子在此謝過~”)

 

 

<JAVA>總結實錄01 : 異常處理 try-catch-finally

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.