亚洲视频二区_亚洲欧洲日本天天堂在线观看_日韩一区二区在线观看_中文字幕不卡一区

公告:魔扣目錄網(wǎng)為廣大站長提供免費收錄網(wǎng)站服務(wù),提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.430618.com 】, 免友鏈快審服務(wù)(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:52003
  • 待審:43
  • 小程序:12
  • 文章:1047590
  • 會員:762

在 c++++ 中,異常通過 try-catch 語句處理:try 塊中代碼可能拋出異常。catch 塊捕獲標準異常或自定義異常。noexcept 關(guān)鍵字聲明函數(shù)不會拋出異常,以進行優(yōu)化。

C++ 函數(shù)中如何處理異常?

在 C++ 中,異常通過 try-catch 語句處理,包括三個主要部分:

try {
  // 代碼塊,可能拋出異常
}
catch (const std::exception& e) {
  // 捕獲標準異常
}
catch (const MyCustomException& e) {
  // 捕獲自定義異常
}

登錄后復制

實戰(zhàn)案例:

假設(shè)我們有一個函數(shù) divide,它計算兩個數(shù)的商,但當分母為 0 時拋出異常:

int divide(int num, int denom) {
  try {
    if (denom == 0) {
      throw std::runtime_error("除數(shù)不能為 0");
    }
    return num / denom;
  }
  catch (const std::exception& e) {
    std::cout << "錯誤: " << e.what() << std::endl;
  }
}

登錄后復制

在主函數(shù)中,我們可以調(diào)用 divide 函數(shù)并捕獲異常:

int main() {
  try {
    int dividend = 10;
    int divisor = 0;
    int result = divide(dividend, divisor);
    std::cout << dividend << " / " << divisor << " = " << result << std::endl;
  }
  catch (const std::runtime_error& e) {
    std::cout << e.what() << std::endl;
  }
}

登錄后復制

輸出:

錯誤: 除數(shù)不能為 0

登錄后復制

注意:

函數(shù)中也可以拋出自定義異常,通過創(chuàng)建自定義異常類并繼承 std::exception
使用 noexcept 關(guān)鍵字聲明函數(shù)不會拋出異常,以進行優(yōu)化。

分享到:
標簽:C++ 異常處理
用戶無頭像

網(wǎng)友整理

注冊時間:

網(wǎng)站:5 個   小程序:0 個  文章:12 篇

  • 52003

    網(wǎng)站

  • 12

    小程序

  • 1047590

    文章

  • 762

    會員

趕快注冊賬號,推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨大挑戰(zhàn)2018-06-03

數(shù)獨一種數(shù)學游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數(shù)有氧達人2018-06-03

記錄運動步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定