异常机制:
//terminate-->abort(); 终止进程
↓
set_terminate(Myterminate);
//terminate-->Myterminate-->abort(); 终止进程
catch(...)
{
cout << "Divsion by zero other" << endl;
}
throw:
①throw可以抛内置类型异常也可以抛自定义类型异常
②throw抛出自定义类型对象的异常时会调用拷贝构造函数 后面会销毁两次
不会出现栈展开:抛出一个临时对象时
throw MyException("MyException"); 平时应抛临时对象
③一场发生之前创建的局部对象被销毁----栈展开
捕获异常时,派生类要在基类上面
void *要放在后面
不要抛指针异常----->会造成浅拷贝
新闻热点
疑难解答