C++异常简单问题!!

来源:百度知道 编辑:UC知道 时间:2024/06/04 19:34:05
是不是在用try捕获异常的时候必须在前面用throw显示的抛出,
而对于标准库提贡的一些函数是不是在本身定义的时候就已经
考虑了异常的可能了,所以我们能够直接捕获到那些异常呢?比如new
try{
char *p=new("construct");
}
catch(...){
delete p;
}
另外我看到书上说永远不要在析构函数中抛出异常,这是指让我们
不能显示的用throw抛出吧

new产生的异常是标准库实现好我,我们只要try,catch就可以了,
不要在析构函数中抛出异常是指不要把异常在对象已经消失后进行处理,如果觉得析构函数可能有异常,一般化要自己处理掉

不是。
1,不能抛出异常。
2.析构函数中应该试用异常安全的代码。