C++ 异常处理学习笔记
C++ 异常处理是一种技术,使程序可以在运行时检测到错误并采取适当的措施来处理它们。在 C++ 中,异常处理主要是通过 try-catch 块实现的。
何时使用 C++ 异常处理
C++ 异常处理通常用于以下情况:
- 函数中的错误(例如除以零)。
- 动态分配内存失败。
- 文件无法打开或读取。
- 不允许的用户输入。
- 任何其他错误或意外情况。
使用 try-catch 块
cppCopy Codetry {
// 可能会抛出异常的代码块
} catch (ExceptionType1 e1) {
// 处理 ExceptionType1 类型的异常
} catch (ExceptionType2 e2) {
// 处理 ExceptionType2 类型的异常
} catch (...) {
// 处理所有其他类型的异常
}
try 块中包含可能会抛出异常的代码。如果发生异常,则会跳转到最近的匹配 catch 块。如果没有任何 catch 块匹配,则程序终止并显示错误消息。
catch 块包含可以处理特定类型异常的代码。每个 catch 块可以捕获不同类型的异常。可以使用省略号 (...) 来捕获所有其他类型的异常。
以下是一个示例:
cppCopy Code#include <iostream>
using namespace std;
int main() {
try {
int x, y;
cout << "Enter two numbers: ";
cin >> x >> y;
if (y == 0) {
throw "Divide by zero error!";
}
cout << "Result: " << x / y << endl;
} catch (const char* msg) {
cerr << "Error: " << msg << endl;
}
return 0;
}
在上面的示例中,如果用户输入了 0 作为第二个数,则会抛出一个字符串异常,并且将错误消息打印到标准错误流中。
总结
C++ 异常处理是一种有效的技术,可以使程序更加健壮和可维护。它允许程序员捕获并处理可能发生的错误或意外情况。要使用异常处理,请使用 try-catch 块,捕获特定类型的异常并处理它们。