c++中try和catch的用法
时间: 2023-10-28 17:12:50 浏览: 124
C++代码展示使用try-catch块来捕获和处理异常方法
在 C++ 中,try和catch是异常处理的关键字,用于处理程序运行过程中出现的异常情况。
`try` 块用于包含可能会抛出异常的语句,如果在 `try` 块中发生了异常,则会跳到与之对应的 `catch` 块中进行处理。
`catch` 块用于捕获并处理异常,可以有多个 `catch` 块,每个 `catch` 块可以捕获不同类型的异常。
下面是一个简单的例子:
```c++
try {
// 可能会抛出异常的语句
int result = func();
// ...
} catch (int e) {
// 处理类型为 int 的异常
// ...
} catch (double e) {
// 处理类型为 double 的异常
// ...
} catch (...) {
// 处理其他类型的异常
// ...
}
```
在上面的例子中,`try` 块中调用了一个函数 `func()`,该函数可能会抛出异常。如果在 `try` 块中发生了异常,则会跳到与之对应的 `catch` 块中进行处理。如果抛出的异常类型为 `int`,则会被第一个 `catch` 块捕获并进行处理;如果抛出的异常类型为 `double`,则会被第二个 `catch` 块捕获并进行处理;如果抛出的异常类型不是 `int` 和 `double`,则会被最后一个 `catch` 块捕获并进行处理。
需要注意的是,在 `catch` 块中可以使用 `throw` 关键字将异常重新抛出,以便让更高级别的代码处理该异常。例如:
```c++
try {
// 可能会抛出异常的语句
int result = func();
// ...
} catch (int e) {
// 处理类型为 int 的异常
// ...
throw; // 将异常重新抛出
} catch (...) {
// 处理其他类型的异常
// ...
}
```
阅读全文