C++ 異常處理 terminate函數使用代碼:
#include <iostream>
using namespace std;
void terminator(){
cout << "I 'll be back!" <<endl;
exit(0);
}
void (*old_terminate)() = set_terminate(terminator);
class B{
public :
class A{};
void f(){
cout<<"B::f()"<<endl;
throw A();
}
~B(){
throw 'c';
}
};
int main(){
try{
B b;
b.f();
}catch(...){
cout<<"inside catch(...)"<<endl;
}
return 0;
}