Cara menangkap jenis pengecualian tertentu dalam C++: gunakan blok cuba-tangkap. Nyatakan jenis pengecualian untuk ditangkap dalam klausa tangkapan, seperti tangkapan (const std::runtime_error& e). Dalam kes praktikal, fungsi read_file() mengendalikan kes di mana fail tidak wujud dengan membuang std::runtime_error, dan menggunakan blok try-catch untuk menangkap pengecualian ini dan mencetak mesej ralat.
Tangkap jenis pengecualian tertentu dalam pengendalian pengecualian fungsi C++
Dalam C++, apabila menggunakan blok try-catch
untuk mengendalikan pengecualian yang dilemparkan dalam fungsi, anda boleh menggunakan tangkap Klausa
menangkap jenis pengecualian tertentu. Sebagai contoh, untuk menangkap pengecualian jenis std::runtime_error
, anda boleh menggunakan sintaks berikut: 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; }
Kes praktikal:
🎜🎜Andaikan terdapatread_file()</code > fungsi, yang Bertanggungjawab untuk membaca data daripada fail. Jika fail tidak wujud, fungsi membuang pengecualian <code>std::runtime_error
. Kita boleh menggunakan blok try-catch
untuk mengendalikan pengecualian ini: 🎜Error: File not found
Atas ialah kandungan terperinci Bagaimana untuk menangkap jenis pengecualian tertentu dalam pengendalian pengecualian fungsi C++?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!