我總是有「返回狀態碼」方法來管理錯誤。現在看來,例外是管理錯誤的最佳形式。
但他們真的是最好的方式?我讀過類似exceptions are worst than GoTo在PHP中使用異常的正確方法是什麼?
你知道關於異常和錯誤管理的一些很好的文章/文章/書嗎?
我總是有「返回狀態碼」方法來管理錯誤。現在看來,例外是管理錯誤的最佳形式。
但他們真的是最好的方式?我讀過類似exceptions are worst than GoTo在PHP中使用異常的正確方法是什麼?
你知道關於異常和錯誤管理的一些很好的文章/文章/書嗎?
異常比返回狀態/錯誤代碼慢大約10000倍,具體取決於編程語言。這是由於所有的堆棧信息都在跟蹤。這是不好的。
一般而言,您不需要使用例外。事實上,有一點,唯一存在的就是返回碼。
關於異常的好處是,除非正確處理它們,否則它們不會讓程序繼續。相反,該程序崩潰。因此,基本上,如果您忘記處理狀態消息或者擔心別人不檢查函數的返回碼,異常會停止程序並使您修復它。雖然,我看到很多沒有經驗的程序員都會遇到這種例外情況,而不是做任何事情,然後繼續。這與忽略函數的返回碼基本相同。
有關異常的另一個好處是它們會自動「冒泡」。不必通過長鏈函數傳遞錯誤代碼,您可以在最高級別設置try catch,並適當地處理任何錯誤(假設您不希望發生其他任何事情)。例如,如果出現任何問題,請顯示錯誤頁面。
這個話題偶爾會出現。你會在搜索http://stackoverflow.com/search?q=php%20exceptions%20vs%20errors找到一些啓發性的答案,並可能與你的案例相關的一些解釋(=沒有一個正確的方法)。 – mario
這個問題會更適合[程序員](http://programmers.stackexchange.com/),還是它仍然過於寬泛? – 2013-07-15 03:33:52