亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

異?;蝈e誤代碼約定

異常或錯誤代碼約定

MMTTMM 2019-10-15 14:03:31
昨天,我與同事就首選的錯誤報告方法進行了激烈的辯論。主要是我們正在討論使用異?;蝈e誤代碼來報告應用程序層或模塊之間的錯誤。您使用什么規則來決定是否拋出異常或返回錯誤代碼以進行錯誤報告?
查看完整描述

3 回答

?
HUX布斯

TA貢獻1876條經驗 獲得超6個贊

在高級方面,例外;在低級的東西,錯誤代碼。


異常的默認行為是解開堆棧并停止程序,如果我正在編寫腳本,并且我尋找不在詞典中的鍵,則可能是錯誤,并且我希望程序停止并讓我都知道。


但是,如果我正在編寫一段必須在每種可能的情況下都知道其行為的代碼,那么我需要錯誤代碼。否則,我必須知道函數中每一行都可能拋出的每個異常,才能知道其將要執行的操作。編寫對每種情況(包括不愉快的情況)做出適當響應的代碼既繁瑣又困難,但這是因為編寫無錯誤的代碼既繁瑣又困難,而不是因為您要傳遞錯誤代碼。


查看完整回答
反對 回復 2019-10-15
?
慕的地6264312

TA貢獻1817條經驗 獲得超6個贊

我通常更喜歡異常,因為它們具有更多的上下文信息,并且可以(如果使用得當)將錯誤更清楚地傳達給程序員。

另一方面,錯誤代碼比異常輕巧,但難以維護。錯誤檢查可以無意中省略。錯誤代碼更難維護,因為您必須保留所有錯誤代碼的目錄,然后打開結果以查看拋出了什么錯誤。錯誤范圍在這里可能會有所幫助,因為如果我們唯一感興趣的是是否存在錯誤,則檢查起來更簡單(例如,HRESULT錯誤代碼大于或等于0表示成功,小于零就是失?。?梢詿o意中省略它們,因為沒有程序性的強迫開發人員檢查錯誤代碼。另一方面,您不能忽略異常。

總而言之,在幾乎所有情況下,我都傾向于使用異常而不是錯誤代碼。


查看完整回答
反對 回復 2019-10-15
?
嗶嗶one

TA貢獻1854條經驗 獲得超8個贊

我喜歡例外,因為

  • 他們中斷了邏輯流程

  • 他們受益于類層次結構,它提供了更多的功能

  • 如果使用得當,則可能表示各種各樣的錯誤(例如,InvalidMethodCallException也是LogicException,因為這兩種情況都發生在代碼中的錯誤應在運行時之前被檢測到時),并且

  • 它們可以用于增強錯誤(即,FileReadException類定義可以包含用于檢查文件是否存在或已被鎖定等的代碼)


查看完整回答
反對 回復 2019-10-15
  • 3 回答
  • 0 關注
  • 523 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號