Bagaimana untuk menggunakan pengendalian pengecualian fungsi C++?

WBOY
Lepaskan: 2024-04-15 15:57:01
asal
865 orang telah melayarinya

Pengendalian pengecualian ialah mekanisme untuk mengendalikan ralat fungsi, ditangkap menggunakan sintaks cuba-tangkap: blok cuba mengandungi kod yang mungkin membuang pengecualian. Blok tangkapan menangkap pengecualian jenis tertentu, gunakan exception_type &e untuk mengakses objek pengecualian. menangkap (...) menangkap sebarang jenis pengecualian. Contohnya, apabila menukar rentetan kepada integer, argumen yang tidak sah menimbulkan pengecualian_argumen tidak sah dan di luar julat menimbulkan pengecualian di luar_julat.

C++ 函数异常处理如何使用?

C++ Function Exception Handling

Exception handling ialah teknik untuk mengendalikan ralat atau pengecualian yang berlaku dalam sesuatu fungsi. Ia membolehkan anda mengendalikan ralat dengan anggun tanpa merosakkan keseluruhan program.

Syntax

Pengendalian pengecualian menggunakan sintaks berikut:

try {
  // 执行可能引发异常的代码
} catch (exception_type &e) {
  // 捕获特定类型的异常
} catch (...) {
  // 捕获任何类型的异常
}
Salin selepas log masuk
  • Blok cuba mengandungi kod yang mungkin membuang pengecualian.
  • try 块包含可能引发异常的代码。
  • catch 块用于捕获特定类型的异常。它使用参数 exception_type &e 来访问异常对象。
  • 如果您希望捕获任何类型的异常,可以使用 catch (...)

实战案例

让我们看一个使用异常处理的实际示例:

#include <iostream>
#include <string>

using namespace std;

int main() {
try {
  // 将字符串转换为整数
  int num = stoi("abc");
} catch (invalid_argument &e) {
  // 处理无效参数异常
  cout << "Invalid integer: " << e.what() << endl;
} catch (out_of_range &e) {
  // 处理超出范围异常
  cout << "Out of range: " << e.what() << endl;
} catch (...) {
  // 处理任何其他异常
  cout << "Unknown error occurred." << endl;
}

return 0;
}
Salin selepas log masuk

在这种情况下,我们尝试将 "abc" 转换为整数。如果字符串不包含有效的整数,它将引发 invalid_argument 异常。或者,如果值超出 int 范围,则会引发 out_of_range blok catch digunakan untuk menangkap jenis pengecualian tertentu. Ia menggunakan parameter exception_type &e untuk mengakses objek pengecualian.

Jika anda ingin menangkap sebarang jenis pengecualian, anda boleh menggunakan catch (...). 🎜Kes Praktikal🎜🎜Mari kita lihat contoh praktikal menggunakan pengendalian pengecualian: 🎜rrreee🎜Dalam kes ini, kami cuba menukar "abc" kepada integer. Jika rentetan tidak mengandungi integer yang sah, ia akan menimbulkan pengecualian invalid_argument. Sebagai alternatif, jika nilai berada di luar julat int, pengecualian out_of_range akan dilemparkan. Kami menggunakan pengendalian pengecualian untuk menangkap pengecualian ini dan mengendalikannya dengan anggun. 🎜

Atas ialah kandungan terperinci Bagaimana untuk menggunakan pengendalian pengecualian fungsi C++?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!