📜  C++用户定义的异常

📅  最后修改于: 2020-10-16 07:16:19             🧑  作者: Mango

C++用户定义的异常

可以通过重写和继承异常类功能来定义新异常。

C++用户定义的异常示例

让我们看一下用户定义的异常的简单示例,其中使用std :: exception类定义异常。

#include 
#include 
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!

注意:在上面的示例中,what()是异常类提供的公共方法。它用于返回异常原因。