c++中throw作用
时间: 2023-07-23 10:09:01 浏览: 90
在 C++ 中,`throw` 是用于抛出异常的关键字。当程序执行到某条语句时,如果发生了异常情况,可以使用 `throw` 抛出一个异常,程序会立即跳转至第一个匹配的异常处理程序处。
`throw` 语句的语法如下:
```cpp
throw expression;
```
`expression` 可以是任何类型的值,通常是一个指向 `std::exception` 类型的指针,或者是一个继承自 `std::exception` 的自定义异常类型的对象。当抛出异常时,程序会查找匹配的异常处理程序,如果找不到,则会终止程序的执行。
在异常处理程序中,可以使用 `try-catch` 块来捕获和处理抛出的异常。通常,在 `try` 块中编写可能引发异常的代码,然后在 `catch` 块中处理异常情况。
例如,下面的代码中,`throw` 语句抛出了一个 `std::runtime_error` 类型的异常:
```cpp
#include <stdexcept>
#include <iostream>
int main() {
try {
int x = 0;
if (x == 0) {
throw std::runtime_error("x is zero");
}
}
catch (std::exception& e) {
std::cout << "Caught exception: " << e.what() << std::endl;
}
return 0;
}
```
运行结果:
```
Caught exception: x is zero
```
阅读全文