📅  最后修改于: 2023-12-03 15:14:03.563000             🧑  作者: Mango
在C++中,可以使用异常处理机制来处理程序中的错误。异常处理是一种机制,它能够在程序运行时检测到错误,然后抛出异常,使程序能够通过异常处理程序来处理这些错误并进行恰当的处理。在C++中,异常处理机制是通过异常标头,如下所示,来实现的。
#include <exception>
异常标头中包含的是 std::exception
类和其他一些与异常处理相关的类和函数。std::exception
类被用作其他异常类型的基类,因此我们需要了解这个类的结构和使用方法。下面是一个 C++ 异常处理的示例代码:
#include <iostream>
#include <exception>
using namespace std;
class MyException : public exception {
public:
MyException(const char* message) : msg(message) {}
const char* what() const throw() {
return msg.c_str();
}
private:
string msg;
};
int divide(int a, int b) {
if (b == 0) {
throw MyException("除数不能为零!");
}
return a / b;
}
int main() {
int a = 10, b = 0, result;
try {
result = divide(a, b);
cout << "结果为:" << result << endl;
} catch (MyException& e) {
cout << "发生了一个错误:" << e.what() << endl;
} catch (exception& e) {
cout << "发生了一个未知错误:" << e.what() << endl;
}
return 0;
}
这是一个简单的 C++ 异常处理示例,它演示了如何创建一个自定义异常类和如何使用 throw
关键字来抛出异常。在该示例中,如果我们将除数 b
的值设为 0,则会抛出一个 MyException
异常,这个异常会被 catch
块捕获并输出错误信息。如果程序中发生了其他异常,则会被 catch
块中的 exception
类捕获并输出错误信息。