📅  最后修改于: 2023-12-03 14:39:53.518000             🧑  作者: Mango
在C++中,try-catch语句用于捕获和处理异常。当程序中的某些代码出现异常时,程序会跳转到try语句块外的catch语句块。
try {
// 可能会出现异常的代码块
}
catch (异常类型 参数名) {
// 异常处理代码块
}
#include <iostream>
using namespace std;
int main() {
int a, b;
cout << "请输入两个数字:" << endl;
cin >> a >> b;
try {
if (b == 0) {
throw "除数为0了!";
}
else {
cout << "a/b=" << a / b << endl;
}
}
catch (const char* msg) {
cout << "Error: " << msg << endl;
}
return 0;
}
上述代码中使用了try-catch语句捕获了除0异常,当用户输入的b为0时,程序会抛出异常并跳转到catch语句块中进行处理。
当程序中可能会抛出多种类型的异常时,可以使用多个catch块来分别捕获和处理不同类型的异常。
try {
// 可能会出现异常的代码块
}
catch (异常类型1 参数名1) {
// 异常处理代码块1
}
catch (异常类型2 参数名2) {
// 异常处理代码块2
}
catch (...) {
// 捕获所有类型的异常
// 异常处理代码块
}
C++中提供了一些常见的异常类,使用这些异常类可以方便程序员捕获和处理异常。
所有C++标准库异常的基类。
由于内存不足无法分配所请求的内存时抛出。
当试图执行错误的类型转换时抛出。
表示运行时错误的异常类。
由于访问超出有效范围的值而抛出。
try-catch语句是C++中用于处理异常的一种方法,可以使程序更加健壮、更容易维护。程序员应该在编写代码时预估可能出现的异常情况,并使用try-catch语句来捕获和处理这些异常。