第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

java的斷言應(yīng)該在什么情況下用?

java的斷言應(yīng)該在什么情況下用?

牧羊人nacy 2019-03-13 19:15:48
書上說是在調(diào)試時(shí)使用,但我覺得用起來并不方便,有什么技巧么?具體是怎么用的呢?能舉個(gè)例子么?我用起來感覺還沒throws方便啊……
查看完整描述

4 回答

?
哆啦的時(shí)光機(jī)

TA貢獻(xiàn)1779條經(jīng)驗(yàn) 獲得超6個(gè)贊

assert用于確保代碼邏輯上不可能發(fā)生的事情絕對不發(fā)生(比如factory method返回NULL),而exception用于處理一些有可能發(fā)生的事情(比如用戶輸入錯(cuò)誤,比如網(wǎng)絡(luò)鏈接斷開)。

assert如果非真,拋出的是AssertionError,而不是Exception,而Error一般是不catch的,所以它的作用就是在測試的時(shí)候early crash,你一旦穩(wěn)定下來確定不會(huì)出現(xiàn)了,在production環(huán)境中是可以完全關(guān)掉的(去掉JVM參數(shù)-ea即可,JVM會(huì)用nop代替,不影響性能)。

Exception及其處理往往是業(yè)務(wù)邏輯的一部分。而Assertion不是。后者應(yīng)該crash early,而前者不是。

需要注意的是assert是可以被關(guān)閉的,所以里面不可以有任何重要、正常的業(yè)務(wù)邏輯代碼的調(diào)用。


查看完整回答
反對 回復(fù) 2019-04-15
?
呼喚遠(yuǎn)方

TA貢獻(xiàn)1856條經(jīng)驗(yàn) 獲得超11個(gè)贊

測試的時(shí)候。。。


查看完整回答
反對 回復(fù) 2019-04-15
?
蕭十郎

TA貢獻(xiàn)1815條經(jīng)驗(yàn) 獲得超13個(gè)贊

時(shí)代不一樣了,基本不用考慮和糾結(jié)這個(gè)了,你覺得什么好用就用什么,這樣才能提高生產(chǎn)力。


查看完整回答
反對 回復(fù) 2019-04-15
  • 4 回答
  • 0 關(guān)注
  • 984 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)