[英]Returning Meaningful Errors From C++ Function - Best Practice
我正在編寫一個類,該類的函數可以根據函數停止工作的時間點返回多種不同類型的錯誤。 就目前而言,我對如何做到這一點沒有正式的想法,但我看到了類似的東西:
bool thisFunctionReturnsError(type param1, type param2, returntype& return)
這是有效的,如果發生錯誤,它返回真/假,否則將返回一個有效的“返回類型”到返回變量中供程序員使用。 但我的問題是 - 這是最佳實踐嗎?
我找到了下面的主題,但它是關於 C 的。我很好奇 C++ 是否有更好的方法來做到這一點,不涉及異常(因為它們不是標准的)。
任何人都可以給我一些建議嗎? 謝謝!
從技術上講,如果錯誤是正常操作中不應該發生的事情,那么這就是 C++ 期望您使用異常的原因,並且它們與 C++ 中的任何其他內容一樣標准。
但是,如果錯誤可能是正常程序流程的一部分,或者由於性能異常不是一個選項,請考慮返回std::pair
或std::optional
(C++14 或 boost),如果只是失敗/succeed 信息是必需的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.