Blok cuba-tangkap dalam C++ digunakan untuk mengendalikan kejadian luar biasa di luar jangkaan program untuk mengelakkan ralat atau ranap program. Sintaksnya ialah: try {...} catch (const exception& e) {...}, di mana blok try ialah kod yang mungkin membuang pengecualian, dan blok catch ialah kod yang mengendalikan pengecualian. Petua penggunaan: Cuba gunakan try-catch dalam fungsi untuk pengendalian pengecualian khusus untuk menunjukkan jenis pengecualian; : rethrow() membuang semula pengecualian; menggunakan kata kunci noexcept untuk mengisytiharkan fungsi tidak akan membuang pengecualian.
Pengendalian pengecualian dalam teknologi C++: Gunakan blok cuba-tangkap untuk mengendalikan pengecualian
Pengecualian ialah peristiwa yang berlaku di luar jangkaan program dan boleh menyebabkan ralat atau ranap program. C++ menyediakan mekanisme pengendalian pengecualian untuk mengendalikan pengecualian ini.
blok cuba-tangkap
blok cuba-tangkap ialah struktur kawalan yang digunakan untuk mengendalikan pengecualian. Sintaksnya adalah seperti berikut:
try { // 可能会抛出异常的代码 } catch (const exception& e) { // 处理异常的代码 }
Contoh praktikal
Berikut ialah contoh kod yang menggunakan blok try-catch untuk mengendalikan pengecualian pembukaan fail:
#include <fstream> #include <iostream> using namespace std; int main() { ifstream file; try { file.open("test.txt"); if (!file.is_open()) throw runtime_error("文件打开失败"); // 文件处理代码 file.close(); } catch (const exception& e) { cout << "异常消息:" << e.what() << endl; } return 0; }
Dalam kod, kami mula-mula cuba membuka fail. Jika fail gagal dibuka, ia membuang pengecualian runtime_error
. Kami menangkap pengecualian dalam blok tangkapan dan mencetak mesej pengecualian. runtime_error
异常。我们在 catch 块中捕获该异常并输出异常消息。
使用 tips
std::rethrow()
重新抛出一个异常。noexcept
std::rethrow()
untuk melontar semula pengecualian. 🎜noexcept
untuk mengisytiharkan bahawa fungsi tidak akan membuang pengecualian pada masa penyusunan. 🎜🎜Atas ialah kandungan terperinci Pengendalian pengecualian dalam teknologi C++: Bagaimana untuk menggunakan blok cuba-tangkap untuk mengendalikan pengecualian?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!