C++中的try-catch语句被用于处理异常情况,以保证程序的正常运行。当程序执行完try中的代码时,名为exception的对象被创建,如果发生异常,则程序跳转到catch处,进行异常的处理。在catch块中可以捕获或处理异常,或重抛异常。
语法:
try{
// 代码块
}
catch (type name) {
// 异常处理逻辑
}
其中:
- try:包含可能会引发异常的代码块。
- catch:用于捕获异常和处理异常。
- type:指定捕获异常的数据类型。
- name:定义一个包含异常信息的变量名。
以下示例展示了如何使用try-catch语句:
try {
int num1, num2;
cout << "Enter first number: ";
cin >> num1;
cout << "Enter second number: ";
cin >> num2;
if (num2 == 0) {
throw "Divide by zero error!";
}
cout << "Result: " << num1 / num2 << endl;
}
catch (const char* errorMsg) {
cout << "Error: " << errorMsg << endl;
}
在上述代码中,我们可以看到如果num2的值为0,就会抛出异常字符串,这个异常被catch语句捕获并处理,输出异常信息。
以下示例展示了如何使用try-catch语句处理多个异常:
try {
int num1, num2;
cout << "Enter first number: ";
cin >> num1;
cout << "Enter second number: ";
cin >> num2;
if (num2 == 0) {
throw "Divide by zero error!";
}
if (num1 < 0) {
throw 5.5;
}
cout << "Result: " << num1 / num2 << endl;
}
catch (int errCode) {
cout << "Error code: " << errCode << endl;
}
catch (const char* errorMsg) {
cout << "Error: " << errorMsg << endl;
}
catch (...) {
cout << "Something went wrong!" << endl;
}
在上述代码中,我们可以看到同时抛出了两个异常,分别为const char*类型和int类型,catch语句中出现了多个catch块来捕获不同类型的异常,并进行不同的处理。还有一个不指定类型的catch块,用于处理其他类型的异常,防止程序崩溃。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C++中的try-catch语句是什么? - Python技术站