首頁 >後端開發 >C++ >如何捕捉和處理C++異常?

如何捕捉和處理C++異常?

WBOY
WBOY原創
2024-06-05 22:33:59294瀏覽

C++ 異常是一種處理意外事件的機制,透過 try 區塊擷取異常,使用 catch 區塊處理異常。首先,使用 throw 語句拋出異常,異常類型可以是標準庫異常類別或自訂異常類別。在實戰案例中,如果除數為零,divide 函數會拋出一個 runtime_error,並在 main 函數中透過 catch 區塊擷取並處理異常。

如何捕捉和處理C++異常?

如何擷取和處理 C++ 例外狀況

C++ 例外狀況是處理意外事件的機制。它們允許程式優雅地處理錯誤,而不會導致崩潰。

捕獲異常

要捕獲異常,請使用以下語法:

try {
  // 容易抛出异常的代码
} catch (exception& e) {
  // 异常处理代码
}

try 區塊包含可能拋出異常的程式碼。如果拋出異常,控制權將轉移到對應的 catch 區塊。 catch 區塊參數指定用於處理特定例外類型的參考。

拋出異常

可以透過使用throw 語句來拋出例外:

throw exception();

exception 可以是標準函式庫異常類別(例如runtime_error)或自訂異常類別。

實戰案例

考慮以下程式碼範例:

#include <exception>

int divide(int a, int b) {
  if (b == 0) {
    throw std::runtime_error("除数不能为零");
  }
  return a / b;
}

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

main 函數中,我們呼叫divide 函數,並嘗試捕獲可能拋出的任何異常。如果除數為零,divide 函數會拋出一個 runtime_error,並顯示錯誤訊息。

以上是如何捕捉和處理C++異常?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn