Pengecualian C++ ialah mekanisme untuk mengendalikan peristiwa yang tidak dijangka Pengecualian ditangkap melalui blok percubaan dan dikendalikan menggunakan blok tangkapan. Pertama, gunakan pernyataan lontaran untuk membuang pengecualian Jenis pengecualian boleh menjadi kelas pengecualian perpustakaan standard atau kelas pengecualian tersuai. Dalam kes praktikal, jika pembahagi adalah sifar, fungsi bahagi akan membuang runtime_error, dan pengecualian akan ditangkap dan dikendalikan melalui blok tangkapan dalam fungsi utama.
Pengecualian C++ ialah mekanisme untuk mengendalikan peristiwa yang tidak dijangka. Mereka membenarkan atur cara mengendalikan ralat dengan anggun tanpa menyebabkan ranap.
Untuk menangkap pengecualian, gunakan sintaks berikut:
try { // 容易抛出异常的代码 } catch (exception& e) { // 异常处理代码 }
try
blok mengandungi kod yang mungkin membuang pengecualian. Jika pengecualian dilemparkan, kawalan dipindahkan ke blok catch
yang sepadan. Parameter blok catch
menentukan rujukan yang digunakan untuk mengendalikan jenis pengecualian tertentu. 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
throw
: 🎜rrreee🎜exception
boleh menjadi kelas pengecualian perpustakaan standard (seperti runtime_error kod >) atau kelas pengecualian tersuai. 🎜🎜Contoh Praktikal🎜🎜Pertimbangkan contoh kod berikut: 🎜rrreee🎜Dalam fungsi <code>main
, kami memanggil fungsi divide
dan cuba menangkap sebarang pengecualian yang mungkin dilemparkan. Jika pembahagi adalah sifar, fungsi bahagi
membuang runtime_error
dan memaparkan mesej ralat. 🎜Atas ialah kandungan terperinci Bagaimana untuk menangkap dan mengendalikan pengecualian C++?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!