2011-06-17 73 views
4

我總是有「返回狀態碼」方法來管理錯誤。現在看來,例外是管理錯誤的最佳形式。
但他們真的是最好的方式?我讀過類似exceptions are worst than GoTo在PHP中使用異常的正確方法是什麼?

你知道關於異常和錯誤管理的一些很好的文章/文章/書嗎?

+0

這個話題偶爾會出現。你會在搜索http://stackoverflow.com/search?q=php%20exceptions%20vs%20errors找到一些啓發性的答案,並可能與你的案例相關的一些解釋(=沒有一個正確的方法)。 – mario

+0

這個問題會更適合[程序員](http://programmers.stackexchange.com/),還是它仍然過於寬泛? – 2013-07-15 03:33:52

回答

3

如果你編程面向對象,也許異常對你更好。如果你寫程序,返回值是更好的方法。這取決於你的編碼風格等。

+2

,因爲沒有什麼比不一致更糟。異常是一種面向對象的模式,返回代碼來自程序編程。 – levu

2

異常比返回狀態/錯誤代碼慢大約10000倍,具體取決於編程語言。這是由於所有的堆棧信息都在跟蹤。這是不好的。

一般而言,您不需要使用例外。事實上,有一點,唯一存在的就是返回碼。

關於異常的好處是,除非正確處理它們,否則它們不會讓程序繼續。相反,該程序崩潰。因此,基本上,如果您忘記處理狀態消息或者擔心別人不檢查函數的返回碼,異常會停止程序並使您修復它。雖然,我看到很多沒有經驗的程序員都會遇到這種例外情況,而不是做任何事情,然後繼續。這與忽略函數的返回碼基本相同。

有關異常的另一個好處是它們會自動「冒泡」。不必通過長鏈函數傳遞錯誤代碼,您可以在最高級別設置try catch,並適當地處理任何錯誤(假設您不希望發生其他任何事情)。例如,如果出現任何問題,請顯示錯誤頁面。

相關問題