究竟什么时候使用异常处理? 关于异常处理一直都搞不太懂,写程序也两年多了,但从来没用过异常处理。哪位能给指点一下,究竟什么时候该使用异常处理。比如说调用CreateFile函数打开文件时,需要用异常处理吗?判断一下返回值不就行了嘛。我现在主要的困惑就是不知道在哪些场合该使用异常处理。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 数据库操作中是肯定要用try cath的。其他就看你自己了,感觉容易出错的地方最好都用上。便于以后找bug。呵呵 异常处理的最大用处就是可以节省判断返回值的代码,比如A里边调用B,B里边调用C,C里边调用D,D里边调用E,A是界面,其它的是数据处理,不用异常的话,A要判断B的返回值,B要判断C的返回值,C要判断D的返回值,D要判断E的返回值,用了异常,在A直接捕获异常就可以了,层次越多代码越复杂异常的优势越明显,代码简单化了易读性也提高了,比如GetHouse("201").GetRoom("客厅").GetItem("沙发").Show(TRUE)这样一句代码,如果你要考虑用返回值表示找不到对应的东西的话你看看得变成多少行。 1. 调用第三方模块时2. 调用的方法它自己会故意抛出异常(很多com都这样做)3. 代码有问题, 暂时找不到原因...以上纯属个人看法 数据库连接失败,确认数据库db1是否在当前路径下 C++中vector<Shape>&v这种写法是什么意思啊? Dialogbar窗体大小 如何实现VC编写的应用程序与PHP之间的通信? 网上下载了一个RLE压缩算法的c文件(很多人都用过,说可以的),是别人写好的,然后我想简单的调用一下,结果无法输出帮我看看 HANDLE_MSG宏展开的问题 打开 文件对话框查询节点遇到的问题 C++? 送分题!参与者有分 【求助】请懂用vc实现汉字识别的高手进,帮我看看这个程序是什么算法 关于“MyHello应用程序”的问题? Flexgrid用cedit实现编辑后的闪烁问题
比如A里边调用B,
B里边调用C,
C里边调用D,
D里边调用E,
A是界面,其它的是数据处理,
不用异常的话,
A要判断B的返回值,
B要判断C的返回值,
C要判断D的返回值,
D要判断E的返回值,
用了异常,
在A直接捕获异常就可以了,
层次越多代码越复杂异常的优势越明显,
代码简单化了易读性也提高了,
比如GetHouse("201").GetRoom("客厅").GetItem("沙发").Show(TRUE)这样一句代码,
如果你要考虑用返回值表示找不到对应的东西的话你看看得变成多少行。
2. 调用的方法它自己会故意抛出异常(很多com都这样做)
3. 代码有问题, 暂时找不到原因...以上纯属个人看法