最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java 使用異常的好處總結(jié)

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

java 使用異常的好處總結(jié)

一、分析

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

 二、場景

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

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

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

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

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

  三、建議 

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

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

相關(guān)文章

最新評論

新乡市| 玉树县| 永安市| 田林县| 准格尔旗| 乌拉特中旗| 三明市| 罗平县| 额尔古纳市| 花莲县| 上饶市| 陆良县| 珠海市| 奇台县| 乡宁县| 海盐县| 嘉兴市| 台安县| 天全县| 临安市| 娱乐| 承德市| 资源县| 渝中区| 云浮市| 亚东县| 九寨沟县| 山东| 虞城县| 丰城市| 威宁| 香格里拉县| 永德县| 兴宁市| 谷城县| 兰溪市| 郁南县| 略阳县| 高安市| 清新县| 靖江市|