#include <iostream>
using namespace std;
class MyException{
public:
MyException(){cout < <"construction" < <endl;}
void show(){cout < <"...MyException..." < <endl;}
~MyException(){cout < <"~construction" < <endl;}
};
void fun(){
throw MyException();
}
int main(int argc, char *argv[]){
try{
fun();
}catch(MyException e){
e.show();
}
return 0;
}
对于此函数为什么会是这样的结果呢?
construction
~construction
~construction
...MyException...
~construction
~construction
不是说构造了几次就析构几次么,这里怎么不一样呢,