有關Java中try-catch的使用

以下皆來自轉載總結,用作個人總結學習

什麼時候需要用到try-catch?
代碼執行預料不到的情況,或出錯的可能性很大時,使用try-catch語句。

1、構造一個文件輸入流,(上傳文件時,線上環境的內存情況不確定)出錯的可能性很大。

2、文件上傳寫入,數據庫事務的提交,還有攝像頭和打印機的使用

使用數據庫事務的時候使用try-catch,如果事務執行成功就提交事務,如果事務執行失敗就由catch提示錯誤並回滾事務。還有就是在使用curl方式訪問其他網絡地址的時候會用到,如果網絡訪問出錯或者網絡訪問超時就在catch中拋出錯誤。還有就是之前寫winfrom軟件的時候調用攝像頭和打印機,會使用try-catch。

3、程序調用其他人寫的程序接口的時候,不敢保證別人的接口返回的都是約定好的返回值。

所以如果接口返回約定好的返回值,那麼try中的程序正常執行,如果意料之外catch拋出錯誤。

可以通過下面這一段代碼來加深一下理解:

public class TryCatchStu {
 /*try catch:自己處理異常
  *try{
  * 可能出現異常的代碼
  *}catch(異常類名A e){
  * 如果出現了異常類A類型的異常,那麼執行該代碼
  *}...(catch可以有多個)
  *finally{
  * 最終肯定必須要執行的代碼(例如釋放資源的代碼)
  *}

*代碼執行的順序:
*1.try內的代碼從出現異常的那一行開始,中斷執行
*2.執行對應的catch塊內的代碼
*3.繼續執行try catch 結構之後的代碼

*注意點:
*1.如果catch內的異常類存在子父類的關係,那麼子類應該在前,父類在後
*2.如果finally中有return語句,那麼最後返回的結果肯定以finally中的返回值爲準
*3.如果finally語句中有return,那麼沒有被處理的異常將會被吞掉

*重寫的注意點:
*1.兒子不能比父親的本事大
*2.兒子要比父親開放
*3.兒子不能比父親惹更大的麻煩(子類的異常的類型不能是父類的異常的父類型)

*異常類Api:
*1.getMessage():獲取異常描述信息字符串
*2.toString():返回異常類的包路徑和類名和異常描述信息字符串
*3.printStackTrace():除了打印toString的信息外,還要打印堆棧信息
*/
原文鏈接:https://blog.csdn.net/wanghuiwei888/article/details/78818203

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