多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > 互聯網 > java-異常詳解

java-異常詳解

來源:程序員人生   發布時間:2014-10-03 08:00:00 閱讀次數:2784次

(一)異常機制出現的原因

異常處理能提升程序的健壯性,C語言中是通過函數返回值來處理異常的,這種做法的弊端:

1.返回值與現有邏輯可能沖突。

2.代碼可讀性差。執行代碼和異常處理代碼混淆在一起。

3.需了解函數返回值詳細信息,以做處理。

/** * 異常處理demo * * @author peter_wang * @create-time 2014-9-24 上午9:24:35 */ public class ExceptionDemo { /** * @param args */ public static void main(String[] args) { int num = operateNum(5); // 函數外部使用者需知道異常返回值 // 函數計算結果剛好為-1,本質上不屬于異常范圍 // 異常處理加重程序耦合性,異常處理和正常處理混淆在一起 if (num == -1) { System.out.println("傳入參數不正確"); } else { System.out.println("計算結果:" + num); } } private static int operateNum(int num) { if (num == 0) { return -1; } num = 10 / num; num -= 3; return num; } }


(二)異常分類


系統級錯誤(error):如內存消耗完,通常情況下不需要理會。

編譯時錯誤:這種異常必須在代碼里被顯示的捕獲語句包住,否則編譯不過,如FileNotFoundException。

運行時錯誤:代碼不規范產生的錯誤,出現錯誤需要程序員更改bug,如空指針異常和數組下標越界。


(三)異常的使用

1.不要忽略異常

try { ...... } catch (Exception e) { }
不處理異常,違背了異常設計的初衷,程序出錯難以找到錯誤原因。

2.不要把邏輯性較強的代碼分離

FileInputStream is = null; try { is = new FileInputStream(new File("")); } catch (FileNotFoundException e) { e.printStackTrace(); } try { is.read(); } catch (IOException e) { e.printStackTrace(); }
異常捕捉分離了邏輯較強的代碼,可讀性變差。應采用如下代碼

FileInputStream is = null; try { is = new FileInputStream(new File("")); is.read(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); }
3.能處理的異常不向上傳遞

對異常的處理有兩種方式:自己處理catch和向上傳遞throw。

向上傳遞代表了太多未知,能處理的自己處理,除非事先知道該信息需要上層處理才傳遞。

4.IO異常處理

如果使用了一些資源例如數據庫連接或者網絡連接,記住在finally中做一些清理工作(如關閉數據庫連接或者網絡連接)。

5.不要全部用Exception來捕捉異常

細化異常類型,能有利于處理和錯誤信息捕捉。



生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 中文字幕亚洲精品 | 国产日韩亚洲欧洲一区二区三区 | 天堂网男人| freee性欧美 freefromevideos性欧美 | 玖玖在线视频 | 视频网站高清免费 | 最新亚洲 | 国产亚洲美女精品久久久久 | 欧美日韩国 | 日韩国产欧美 | 精品日韩一区二区三区 | 亚洲精品在线网址 | 亚洲欧美精品天堂久久综合一区 | 全网毛片 | 国产在线精品一区二区高清不卡 | 69国产成人精品视频软件 | 日本成人不卡视频 | 一本大道香蕉久在线不卡视频 | 一区二区三区不卡在线 | 亚洲天堂手机版 | 欧美一级视频在线高清观看 | 波多野结衣欧美 | 伊人网站在线 | 久久大香线蕉综合爱 | 在线成h人视频网站免费观看 | jizz日本zzz老师水多视频 | 狠久久 | 亚洲高清中文字幕 | 亚洲成人免费在线视频 | 欧美视频精品 | xx免费视频 | 亚洲国产成人精品不卡青青草原 | 国产免费久久精品44 | 精品在线播放 | 日本japanesevideo黑人 | 欧美一区二区在线观看视频 | 一级国产20岁美女毛片 | 日本一级黄色 | 欧美日韩国产欧美 | 免费网站www | 成人午夜免费观看 |