throw抛出异常的示例
时间: 2023-09-26 18:09:36 浏览: 73
下面是一个简单的示例,使用 throw 语句抛出一个自定义异常:
```c++
#include <iostream>
#include <string>
using namespace std;
class MyException : public exception {
public:
MyException(const string& msg) : message(msg) {}
virtual const char* what() const throw() {
return message.c_str();
}
private:
string message;
};
int divide(int a, int b) {
if (b == 0) {
throw MyException("division by zero");
}
return a / b;
}
int main() {
try {
int result = divide(10, 0);
cout << "The result is " << result << endl;
}
catch (const MyException& e) {
cerr << "Error: " << e.what() << endl;
}
return 0;
}
```
在上面的代码中,我们定义了一个名为 MyException 的自定义异常类,并在 divide 函数中使用 throw 语句抛出该异常。在主函数中,我们使用 try-catch 语句捕获该异常并输出错误信息。
阅读全文