簡體   English   中英

處理C ++錯誤

[英]Handle errors C++

因此,我有一個簡單的庫類,該類具有一些返回一些值(如代碼錯誤)的方法。

User_program

MyClass go(arg1, arg2)
if(go.execute() == 0)
  std::cout << go.result();

我班上有這樣的事情

我的課

int execute()
{

    if((temp = doBar()) != 0)
    {
         return temp;
    }
    return SUCCESS;
}

int doBar()
{
   if(foo == 1)
      return DIVIDION_BY_ZERO;
   if(fzz == 0)
      return OPERATION_ERROR;
}

等等。 因此,有沒有什么方法可以使錯誤更有用,我聽說過用const枚舉錯誤的枚舉,但是我不知道如何實現。

謝謝。

不確定我是否理解正確的問題,但這是片刻。

  1. 在您的情況下,枚舉是一種將const值的所有定義(如(SUCCESS,DIVIDION_BY_ZERO等))存儲在一個位置(甚至在一個轉換單元中)的方法。 以及類型的編譯時驗證。 在這里閱讀更多: [1]
  2. 2)如果了解如何執行某些錯誤檢查,則無需走太遠。

    • 首先看一下libc中的C處理錯誤[2]
    • 在ISO C ++ 11中提出[system_error]
    • 並且在Qs [QNetworkReply]中針對(幾乎)每種類型發布了特殊的庫中的典型錯誤處理。
  3. 而且在libs中使用異常(以及RTTI等C ++的黑暗面)也是個壞主意。 但也請使用此鏈接[3]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM