高分求详细的解答,谢谢大家了~

kuangrenyishi 2008-12-05 12:33:43
C++的异常处理机制是怎么样的? 如何应用? 在try模块中new的内存,如何正确回收?这里需要注意指明在标准C++中的异常处理机制及其应用方法,以及在Visual C++中的异常处理机制及其应用方法。
...全文
193 26 打赏 收藏 转发到动态 举报
写回复
用AI写文章
26 条回复
切换为时间正序
请发表友善的回复…
发表回复
SearchLife 2008-12-06
  • 打赏
  • 举报
回复
友情UP
帅得不敢出门 2008-12-05
  • 打赏
  • 举报
回复
看thinking in c++第二卷
星羽 2008-12-05
  • 打赏
  • 举报
回复
这个google一下就很多资料的
dboyback 2008-12-05
  • 打赏
  • 举报
回复
智能指针只能提供一种自动释放的机制,并不能处理内存操作异常
dboyback 2008-12-05
  • 打赏
  • 举报
回复
1 光用C++的try catch 不好管理的 VC的话建议配合SEH的__try,__excapt和__finally关键字在全局展开时回收
2 new和malloc操作失败的情况,可以用_set_new_mode和_set_new_handler捕捉
如:
#include <new.h>
int handle_program_memory_depletion( size_t )
{
// Your code
// 返回值指定是否重新尝试分配
}
int main( void )
{
_set_new_handler( handle_program_memory_depletion );
int *pi = new int[BIG_NUMBER];
}
lc19890326 2008-12-05
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 taodm 的回复:]
汗,“详细解答”。稍微讲讲都要几万字的东西。
google “C与C++中的异常处理”
[/Quote]
我也觉得这种很大很空的问题应该自己搜 就算别人帮你回答也差不多是搜的
lc19890326 2008-12-05
  • 打赏
  • 举报
回复
在try模块中new的内存,如何正确回收
---------------
可以考虑用智能指针管理内存 这样就不用担心资源泄露问题了
taodm 2008-12-05
  • 打赏
  • 举报
回复
汗,“详细解答”。稍微讲讲都要几万字的东西。
google “C与C++中的异常处理”
qq675927952 2008-12-05
  • 打赏
  • 举报
回复
up
lizhaohu 2008-12-05
  • 打赏
  • 举报
回复
异常处理是自己可以控制其结束方式
bfhtian 2008-12-05
  • 打赏
  • 举报
回复
还是要先看书,看个差不多,再慢慢的积累经验
codejian 2008-12-05
  • 打赏
  • 举报
回复
经验, 靠时间去积累!
xxgamexx 2008-12-05
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 lc19890326 的回复:]
在try模块中new的内存,如何正确回收
---------------
可以考虑用智能指针管理内存 这样就不用担心资源泄露问题了

[/Quote]

智能指针有他的控制权瓶颈。


我有个问题:

再处理异常的时候,还有必要再来回收内存吗?
wuyq11 2008-12-05
  • 打赏
  • 举报
回复
try-catch语句

try{

包含可能抛出异常的语句;

}catch(类型名 [形参名]){

}catch(类型名 [形参名]){

}
参考
http://blog.csdn.net/tuwen/archive/2008/04/16/2295853.aspx
http://blog.csdn.net/MulinB/archive/2007/08/29/1763240.aspx
zxianrong 2008-12-05
  • 打赏
  • 举报
回复
more effective C++有介绍
wangyaosuper 2008-12-05
  • 打赏
  • 举报
回复
try catch 一定要用好,比较重要的技术。
cornsky 2008-12-05
  • 打赏
  • 举报
回复
淘宝上买就行了 肯定不是正版的。。。
icesky_ff 2008-12-05
  • 打赏
  • 举报
回复
强烈建议搜索 网上有很详细的解释文章的 找本书上也比在这问这个问题强吧
cyj626 2008-12-05
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 lc19890326 的回复:]
引用 1 楼 taodm 的回复:
汗,“详细解答”。稍微讲讲都要几万字的东西。
google “C与C++中的异常处理”

我也觉得这种很大很空的问题应该自己搜 就算别人帮你回答也差不多是搜的
[/Quote]
up
kuangrenyishi 2008-12-05
  • 打赏
  • 举报
回复
谢谢上面朋友们的回答,我会认真总结这些建议的,这个问题我和我周围的一些朋友也讨论了一下,和上面一些朋友说的有异曲同工之处,谢谢大家了!
加载更多回复(6)

65,211

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧