首頁 > 後端開發 > C++ > C++ 函式異常處理中如何捕捉特定類型的異常?

C++ 函式異常處理中如何捕捉特定類型的異常?

WBOY
發布: 2024-04-15 22:09:02
原創
991 人瀏覽過

C 中擷取特定類型異常的方法:使用 try-catch 區塊。在 catch 子句中指定要擷取的例外類型,如 catch (const std::runtime_error& e)。在實戰案例中,read_file() 函數透過拋出 std::runtime_error 來處理檔案不存在的情況,並使用 try-catch 區塊來捕獲此異常並列印錯誤訊息。

C++ 函数异常处理中如何捕获特定类型的异常?

C 函數異常處理中捕獲特定類型的異常

在C 中,使用try-catch 區塊處理函數中拋出的例外狀況時,可以使用catch 子句擷取特定類型的例外。例如,要捕獲std::runtime_error 類型的例外,可以使用下列語法:

try {
  // 函数代码
} catch (const std::runtime_error& e) {
  // 处理 std::runtime_error 异常
}
登入後複製

實戰案例:

假設有一個read_file() 函數,它負責從檔案讀取資料。如果檔案不存在,函數會拋出一個 std::runtime_error 例外。我們可以使用 try-catch 區塊來處理此例外:

#include <iostream>
#include <fstream>

void read_file(const std::string& filename) {
  std::ifstream file(filename);
  if (!file.is_open()) {
    throw std::runtime_error("File not found");
  }
  
  // 读取文件内容
}

int main() {
  try {
    read_file("myfile.txt");
  } catch (const std::runtime_error& e) {
    std::cerr << "Error: " << e.what() << std::endl;
  }
  return 0;
}
登入後複製

執行此程序,如果檔案 "myfile.txt" 不存在,將列印以下錯誤訊息:

Error: File not found
登入後複製

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

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