首頁 > 後端開發 > C++ > 主體

如何在C++中處理多個異常?

WBOY
發布: 2024-06-06 13:10:58
原創
874 人瀏覽過

C++ 處理多個異常的方式包括使用 try-catch 區塊,其允許針對特定異常類型捕獲並處理異常;還可以使用 try 區塊和一個 catch (...) 區塊來捕獲所有異常類型。在實戰案例中,try 區塊嘗試除法操作,並透過兩個 catch 區塊分別擷取 invalid_argument 和 exception 異常類型,輸出對應的錯誤訊息。

如何在C++中處理多個異常?

如何在C++ 中處理多個異常

C++ 為處理多個例外狀況提供了多種方法,包括:

try-catch 區塊

try {
  // 代码可能引发异常
} catch (const std::exception& e) {
  // 处理 std::exception 异常
} catch (const std::runtime_error& e) {
  // 处理 std::runtime_error 异常
}
登入後複製

catch(...)

try {
  // 代码可能引发异常
} catch (...) {
  // 处理所有异常
}
登入後複製

typeid

try {
  // 代码可能引发异常
} catch (const std::exception& e) {
  if (typeid(e) == typeid(std::runtime_error)) {
    // 处理 std::runtime_error 异常
  }
}
登入後複製

#實戰案例

以下範例示範了使用try-catch 區塊處理多個例外:

#include <iostream>
#include <exception>

using namespace std;

int main() {
  try {
    int x = 10;
    int y = 0;

    cout << "x / y = " << x / y << endl;
  } catch (const invalid_argument& e) {
    cout << "Division by zero error: " << e.what() << endl;
  } catch (const exception& e) {
    cout << "Error: " << e.what() << endl;
  }

  return 0;
}
登入後複製

#在這個範例中:

  • ##try 區塊嘗試執行可能引發異常的程式碼。
  • catch (const invalid_argument& e) 區塊處理 invalid_argument 例外。
  • catch (const exception& e) 區塊處理所有其他例外狀況。
執行此程式會輸出以下結果:

Division by zero error: invalid argument
登入後複製

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

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板