這是軟件engg中的一般問題。 低級別處理錯誤可能代碼太多。另一方面,在最高級別處理錯誤可能會導致信息丟失。 你覺得呢?將錯誤傳播給父母,然後是盛大的父母是好主意嗎?
0
A
回答
0
這一切都取決於要求是什麼。
在某些情況下,您確實希望喚起呼叫者的異常,因爲呼叫者可能會更好地處理該問題。 發送電子郵件可能不總是系統的關鍵,但它可能是當它需要告訴你有人登錄到你的銀行帳戶。
另一方面,您不希望冒泡應該由被調用的方法處理的異常。 如果您正在編寫的內容是通過FTP下載文件,那麼如果您打算稍後再試一次,則不希望每次斷開連接都會打擾調用方。
這又取決於當時的情況,而不是經驗法則。
1
它確實取決於程序能夠在哪裏處理錯誤,以有用的方式報告它,並繼續一些有用的處理。
在我編寫的UI代碼中,例如在處理事件時,我可能調用私有方法,然後調用遇到錯誤的一些實用程序方法。在實用方法中處理它沒有多大意義,因爲它可能不知道正在處理的事件以及向用戶報告錯誤的所有方法。事件處理的第一級可能處於更好的狀態,要麼停止處理,要麼進行必要的調整。另一方面,如果實用方法可以合理地處理所有將被使用的情況下的錯誤(也許有一些重試邏輯或計劃B邏輯),那麼它可能在這裏。
但是,對於我所完成的大部分UI代碼,它通常會傳遞到更高的級別,因爲它可以更好地處理特定情況。
相關問題
- 1. jquery偉大的盛大父母
- 2. 父母的父母的父母
- 3. 將props.navigator傳遞給原生父母
- 4. 佈置父母的父母
- 5. 將子女分配給父母之一的父母之一
- 6. 絕對視圖位置重力陪着父母,而不是父母的父母
- 7. 主播孩子在錨父母元素錯誤
- 8. 錯誤:父母爲空 - angular.js
- 9. 如何檢查父母的父母的ID是否等於
- 10. 窗戶父母的意思
- 11. Buildnumber沒有從父母傳播到childern
- 12. 父母的措施給兒童大小
- 13. CSS:如何傳播從照片到父母或祖父母元素的寬度?
- 14. LINQ組由父母和父母的父母
- 15. jQuery的父母()和父母()。父母()只看到一個層次?
- 16. 明確繼承遺產清單「盛大父母接口
- 17. 在盛大兒童班致電祖父母方法
- 18. SpriteKit父母(s)之後父母的SKNode視覺位置是否被旋轉?
- 19. 如果hasClass然後addClass父母
- 20. 獲取div的父母的父母
- 21. Knockout foreach $ parent指示祖父母而不是父母
- 22. 將React道具從小孩傳遞給父母,然後獲取塊
- 23. 覆蓋父母的父母在PHP
- 24. SASS - 父母的參考父母
- 25. 使用JQuery獲得父母的父母
- 26. 父母對父母溝通的反應
- 27. C#-Threads和父母傳遞給孩子
- 28. 通過Webkit通知回傳給父母
- 29. jquery事件觸摸傳播父母給孩子(鏈接)
- 30. 父母形式給予NullReferenceException
我認爲這是http://programmers.stackexchange.com/的一個很好的問題。 – 2010-12-10 04:51:32