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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

當檢索方法不能生成返回值時,應(yīng)該返回‘NULL’還是拋出異常?

當檢索方法不能生成返回值時,應(yīng)該返回‘NULL’還是拋出異常?

當檢索方法不能生成返回值時,應(yīng)該返回‘NULL’還是拋出異常?我有一個方法,如果找到對象,應(yīng)該返回它。如果沒有找到,我是否應(yīng)該:返回空拋出異常其他
查看完整描述

3 回答

?
互換的青春

TA貢獻1797條經(jīng)驗 獲得超6個贊

如果您總是期望找到一個值,那么如果它丟失了,那么拋出異常。這一例外將意味著存在一個問題。

如果值可能丟失或存在,并且兩者對應(yīng)用程序邏輯都有效,則返回一個NULL。

更重要的是:您在代碼中的其他位置做什么?一致性很重要。


查看完整回答
反對 回復 2019-07-12
?
慕蓋茨4494581

TA貢獻1850條經(jīng)驗 獲得超11個贊

只有當異常確實是錯誤時才拋出異常。如果預(yù)期對象的行為不存在,則返回NULL。

否則,這是一個優(yōu)先考慮的問題。


查看完整回答
反對 回復 2019-07-12
?
MM們

TA貢獻1886條經(jīng)驗 獲得超2個贊

如果NULL從不表示錯誤,那么只需返回NULL。

如果NULL總是一個錯誤,那么拋出一個異常。

如果NULL有時是一個異常,那么就編寫兩個例程。一個例程拋出一個異常,另一個例程是一個布爾測試例程,它在輸出參數(shù)中返回對象,如果找不到該對象,則該例程返回一個false。

這是很難濫用一個嘗試例行公事。忘記檢查NULL真的很容易。

因此,當NULL是一個錯誤時,只需編寫

object o = FindObject();

當NULL不是錯誤時,可以編寫如下代碼

if (TryFindObject(out object o)
  // Do something with o
else
  // o was not found


查看完整回答
反對 回復 2019-07-12
  • 3 回答
  • 0 關(guān)注
  • 955 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

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