儘管 C 中存在異常說明符,但它們的使用仍存在爭議。由於某些限制和缺點,一些開發人員反對將其包含在內。
編譯器強制執行和缺乏編譯錯誤
異常說明符不提供嚴格的編譯器強制執行。雖然它們指示函數是否拋出異常的意圖,但編譯器並不嚴格執行這些規範。儘管異常說明符禁止,但缺乏錯誤處理可能會導致運行時異常。
異常違反時程式終止
如果函數違反其異常說明符,則預設值標準中的行為通常是程式終止。這種激烈的操作可能是不可取的,尤其是在優雅錯誤處理至關重要的應用程式中。
Visual Studio 中的不一致解釋
Visual Studio 將 throw(X) 視為 throw( ...),損害了對標準的遵守。這種不一致可能會導致混亂和意外行為。
技術問題之外的批評
除了技術問題之外:
結論
儘管能夠聲明異常規範,但它們的使用可能會導致與編譯器強制、程序終止和某些情況下的限制相關的問題。因此,許多開發人員的共識是,異常說明符不應該在 C 中使用。相反,遵守最佳實踐(例如返回錯誤代碼和適當捕獲異常)可以提供更強大且可擴展的錯誤處理方法。
以上是C 中應該使用異常說明符嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!