可以通过重写和继承异常类功能来定义新异常。
C ++用户定义的异常示例让我们看一下用户定义的异常的简单示例, 其中使用std :: exception类定义异常。
#include <
iostream>
#include <
exception>
using namespace std;
class MyException : public exception{
public:
const char * what() const throw()
{
return "Attempted to divide by zero!\n";
}
};
int main()
{
try
{
int x, y;
cout <
<
"Enter the two numbers : \n";
cin >
>
x >
>
y;
if (y == 0)
{
MyException z;
throw z;
}
else
{
cout <
<
"x / y = " <
<
x/y <
<
endl;
}
}
catch(exception&
e)
{
cout <
<
e.what();
}
}
输出:
Enter the two numbers :
10
2
x / y = 5
输出:
Enter the two numbers :
10
0
Attempted to divide by zero!
【C++用户自定义的异常】– >
注意:在上面的示例中, what()是异常类提供的公共方法。它用于返回异常原因。
推荐阅读
- C++异常处理: try-catch
- C++模板template用法
- C++字符串用法
- C++栈stack用法
- C++信号处理
- C++ STL集合set
- C++队列queue用法
- C++常见程序实例
- C++ int转换为字符串