C++中异常处理

    xiaoxiao2025-06-12  18

    异常处理方法:预定义类型和自定义类型。关键字:try …throw…catch

    预定义类型:通过捕获异常类型来输出提示;

    自定义类型:通过传参,传给自定义的异常类,再通过对象提取出来,输出显示。

    /*预定义类型异常语句块*/ int divide(int a) {     if (a == 0)     {         throw new ex("不为0");//异常对象自定义类型     }     return a; } class ex :public exception { public:     ex(const char* msg);     char const* what()const; }; class DivideZero { public:     DivideZero() {     };     //传进来     DivideZero(string str) {         m_msg = str;     };     //抛出去     void showMessage()const {         cout << m_msg << endl;     }; private:     string m_msg; }; int main() {     /*异常处理*/     int a;     cin >> a;     while (a)     {         try         {             if (0 == a)             {                 throw "不能为0"; //抛出异常             }             divide(a);/*调用异常语句块*/         }         catch (const char* v)//捕获异常类型         {             cout << v << endl;             cout << "重新输入" << endl;         }         catch (const DivideZero dz)         {             dz.showMessage();         }         catch (const ex* e)         {             e->what();             delete e;         }         cin >> a;   } }

    在这里主要判断输入的值是否为0,输入为0,就抛出异常,在控制台显示。

    最新回复(0)