欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java 使用異常的好處總結

 更新時間:2017年03月01日 17:09:36   作者:彭呈祥  
這篇文章主要介紹了java 使用異常的好處總結的相關資料,需要的朋友可以參考下

java 使用異常的好處總結

一、分析

Java異常處理機制確實比較慢,這個“比較慢”是相對于諸如String、Integer等對象來說,單單從對象的創(chuàng)建上來說,new一個IOException會比String慢5倍,這從異常的處理機制上也可以解釋:因為它執(zhí)行fillStackTrace方法,要記錄當前棧的快照,而String類則是直接申請創(chuàng)建一個內(nèi)存創(chuàng)建對象,異常類慢一籌也在所難免。   

 二、場景

我們知道異常是主邏輯的例外邏輯,舉個例子來說,比如我們能在馬路上走(這時主邏輯),突然開過一輛車,我要避讓(這是受檢異常,必須處理),繼續(xù)走著,不然一架飛機從我頭頂飛過(非受檢異常),我們可以選擇繼續(xù)行走(不捕捉),也可以選擇指責噪音污染(捕捉,主邏輯的補充處理),在繼續(xù)走著,突然一顆流星砸下來,這就沒有選擇,屬于錯誤,不能做任何處理。

任何一個事物的處理都可能產(chǎn)生非預期的結果,問題是需要以何種手段來處理,如果不使用異常就需要依靠返回值的不同來進行處理了,這嚴重嚴重失去了面向?qū)ο蟮娘L格。

例如,用戶登錄的用例,就會在”例外事件“中說明”連續(xù)3次登陸失敗即鎖定用戶賬號“,這就是登陸事件的一個異常處理,具體到我們的程序中就是:

<span style="font-family:SimSun;font-size:14px;">   public voidlogin(){ 
     try{ 
       //正常登陸 
     }catch(InvalidLoginExceptionlie){ 
       //用戶名無效 
     }catch(InvalidPasswordExceptionpe){ 
       //密碼錯誤的異常 
     }catch(TooMouchLoginExceptiontmle){ 
       //多次登陸失敗的異常 
     }     
   }</span> 

如此設計則可以讓我們的login方法更符合實際的處理邏輯,同時使主邏輯(正常登陸,try代表塊)更加清晰。使用異常有很多優(yōu)點,比如可讓正常代碼和異常代碼分離,能快速查找問題(棧信息快照)等,但是異常有一個缺點:性能比較慢。
但是我們不能因為性能問題而放棄使用異常,難道我們的系統(tǒng)連如此微小的性能消耗都不允許嗎?

  三、建議 

        性能問題不是拒絕異常的借口

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

相關文章

  • Eclipse git推送上傳錯誤問題解決方案

    Eclipse git推送上傳錯誤問題解決方案

    這篇文章主要介紹了Eclipse git推送上傳錯誤問題解決方案,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-09-09
  • Java 鏈表的定義與簡單實例

    Java 鏈表的定義與簡單實例

    這篇文章主要介紹了 Java 鏈表的定義與簡單實例的相關資料,需要的朋友可以參考下
    2017-06-06
  • Java8 Instant時間戳使用小記

    Java8 Instant時間戳使用小記

    這篇文章主要給大家介紹了關于Java8 Instant時間戳使用的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-01-01
  • springboot中使用雪花算法生成雪花ID

    springboot中使用雪花算法生成雪花ID

    本文主要介紹了springboot中使用雪花算法生成雪花ID,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-03-03
  • Java多個版本切換的幾種方法

    Java多個版本切換的幾種方法

    本文主要介紹了Java多個版本切換的幾種方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-03-03
  • Java實現(xiàn)鏈棧的示例代碼

    Java實現(xiàn)鏈棧的示例代碼

    這篇文章主要為大家詳細介紹了如何使用鏈式存儲結構來實現(xiàn)棧,也就是鏈棧的實現(xiàn),文中的示例代碼講解詳細,感興趣的小伙伴可以了解一下
    2022-11-11
  • java圖的深度優(yōu)先遍歷實現(xiàn)隨機生成迷宮

    java圖的深度優(yōu)先遍歷實現(xiàn)隨機生成迷宮

    這篇文章主要為大家詳細介紹了java圖的深度優(yōu)先遍歷實現(xiàn)隨機生成迷宮,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • springboot入門之profile設置方式

    springboot入門之profile設置方式

    這篇文章主要介紹了springboot入門?profile設置方式,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-04-04
  • springboot使用nacos的示例詳解

    springboot使用nacos的示例詳解

    這篇文章主要介紹了springboot使用nacos的示例代碼,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-12-12
  • Spring Boot 2.4配置特定環(huán)境時spring: profiles提示被棄用的原因分析

    Spring Boot 2.4配置特定環(huán)境時spring: profiles提示被棄用的原

    這篇文章主要介紹了Spring Boot 2.4配置特定環(huán)境時spring: profiles提示被棄用的原因,本文給大家分享詳細解決方案,需要的朋友可以參考下
    2023-04-04

最新評論