C++学习一错误处理

    xiaoxiao2021-03-25  4

    C++中的错误处理,涉及到try...catch   throw来实现。

    最简单的是

    void fun() { throw 10; } int main() { try { fun(); } catch(int){ cout << "Error" << endl; } return 0; },这里只是遇到抛出整型的值就进入对应的int型的错误处理。

    如果要获取到抛出的值就要使用引用。

    void fun() { throw 10; } int main() { try { fun(); } catch(int &e){ cout << e << endl; } return 0; }

    如果要使用类来作为抛出的值,将对象抛出。

    当有多种不同类型的对象,而且错误处理函数名称相同时,就可以使用动态多态。这样就可以使用他们相同的基类,来进行动态多态对应函数的调用。

    #include <iostream> #include <stdlib.h> #include <string> using namespace std; class Exception { public: virtual void printException(){ cout << "Exception" << endl; } virtual ~Exception() { } }; class IndexException :public Exception { public: virtual void printException() { cout << "IndexException" << endl; } }; void fun() { throw IndexException(); } int main(void) { try { fun(); } catch(IndexException &e){ e.printException(); } system("pause"); return 0; }

    转载请注明原文地址: https://ju.6miu.com/read-200288.html

    最新回复(0)