可能重複:
C++ - Arguments for Exceptions over Return Codes哪個更好,拋出異常或返回非零值?
當你在做C++編程,你必須報告錯誤的兩種選擇。我想很多老師會建議你拋出一個異常,它是從std :: exception派生的。另一種可能更「C」風格的方式是返回一個非零值,因爲零是「ERROR_SUCCESS」。
明確地說,返回異常可以提供更多的錯誤和恢復信息;而代碼會膨脹一點點,至少在我看來,在你心目中保護異常安全有點困難。其他方式,如返回其他方式,將使報告錯誤更容易;缺點是管理恢復將是一個可能很大的問題。
因此,作爲優秀的程序員,人們會不會考慮老闆的意見?對於我來說,我想返回一些非零值。
異常膨脹的代碼?我想在每個函數調用之後檢查一個非零的返回值比在某個戰略性地點嘗試捕獲要多得多。 – sth 2010-06-07 23:40:24
請參閱http://stackoverflow.com/questions/1849490/c-arguments-for-exceptions-over-return-codes,http://stackoverflow.com/questions/99683/which-and-why-do-you-優先例外或返回碼, 等 – 2010-06-07 23:42:15
是的,異常膨脹的代碼。至少這樣認爲來自Google http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml?showone=Exceptions#Exceptions的人轉到了「例外」部分 – Tebe 2013-05-08 18:47:41