C++异常处理
#include <iostream> #include <string> using namespace std; class MyException { public: MyException(const string &message):message(message){} ~MyException(){} const string &getMessage() const { return message; } private: string message; }; class Demo { public: Demo(){ cout << "Constructor of Demo" << endl; } ~Demo(){ cout <<"Destructor of Demo" << endl; } }; void func() throw (MyException) { Demo d; //执行构造函数 cout << "Throw MyException in func()" << endl; throw MyException("exception thrown by func()"); } int main() { cout << "In main function" << endl; try { func(); }catch(MyException& e){ cout << "Caught an exception:" << e.getMessage()<< endl; } cout << "Resume the execution of main()" << endl; return 0; }
结果
In main function Constructor of Demo Throw MyException in func() Destructor of Demo Caught an exception:exception thrown by func() Resume the execution of main()
标签:带析构,const,string,Demo,MyException,语义,C++,message From: https://www.cnblogs.com/uacs2024/p/18057743