c++ 写一个try catch的例子
时间: 2024-08-14 13:05:29 浏览: 46
C++ 异常处理 catch(…)介绍
在 C++ 中,`try-catch` 块用于处理程序中的异常情况。当一段可能会抛出错误的代码(称为 `try` 部分)执行时,如果出现未预期的情况,比如除以零或访问无效内存地址,程序通常会立即终止。通过使用 `try-catch`,你可以捕获这些异常并采取适当的措施,而不是让整个程序崩溃。
以下是一个简单的 `try-catch` 示例:
```cpp
#include <iostream>
using namespace std;
int main() {
try {
// 这里是可能会抛出异常的代码
int a = 5, b;
b = a / 0; // 这会触发除以零异常
cout << "Division successful.\n";
} catch (const exception& e) { // 捕获异常类型为exception
// 异常发生时执行的代码
cerr << "Error: " << e.what() << "\n"; // 显示异常信息
}
return 0;
}
```
在这个例子中:
- `try` 区域包含可能产生异常的代码。在这里,我们尝试对变量 `b` 赋值为 `a` 除以零,这会导致一个 `std::runtime_error` 异常被抛出。
- 如果 `try` 里的代码抛出了异常,控制权就会立即转移到相应的 `catch` 块。
- `catch` 子句指定了要捕获的异常类型。这里用了一个通用的 `const exception&`,它可以捕获大多数标准库异常。`e` 是异常对象的引用,`.what()` 方法返回异常的消息。
- 如果没有匹配的 `catch` 块,异常将继续向上抛出,直到遇到能处理它的块,或者程序终止。
阅读全文