c++的try catch
时间: 2023-10-21 10:28:38 浏览: 91
try-catch 是一种异常处理机制,在程序中用于捕获并处理可能发生的异常。它的基本语法是:
```c
try {
// 可能会抛出异常的代码
} catch (异常类型1 异常对象1) {
// 处理异常类型1的代码
} catch (异常类型2 异常对象2) {
// 处理异常类型2的代码
} catch (...) {
// 处理其他类型的异常
}
```
在 try 块中,我们编写可能会引发异常的代码。如果在该代码块中发生了异常,程序就会跳转到与异常类型匹配的 catch 块,从而执行相应的异常处理代码。如果没有匹配的异常类型,程序会继续向上查找其他的 catch 块,直到找到合适的处理代码或者抛出未捕获的异常。
举个例子,假设我们要对一个除法运算进行异常处理。如果除数为零,则会抛出一个 std::exception 类型的异常。我们可以使用 try-catch 来捕获并处理该异常:
```c
#include <iostream>
#include <exception>
int main() {
int dividend = 10;
int divisor = 0;
try {
if (divisor == 0) {
throw std::exception();
}
int result = dividend / divisor;
std::cout << "Result: " << result << std::endl;
} catch (std::exception& e) {
std::cout << "Exception caught: " << e.what() << std::endl;
}
return 0;
}
```
在上面的代码中,我们使用 throw 关键字手动抛出了一个 std::exception 类型的异常。然后,在 catch 块中,我们捕获并处理了该异常。在这个例子中,程序会输出 "Exception caught: std::exception"。
try-catch 是一个强大的工具,可以让我们更好地处理程序中可能出现的异常情况,避免程序崩溃或产生不可预料的结果。
阅读全文