话说VC/MFC 用大量try{}catch{}包住所有代码科学么?

kemee 2011-11-12 11:12:36
个人习惯基本都是用if判断,除了关键代码很少会用上try{}catch{},看到隔壁java组的貌似全部代码都是包住的......话说哪种比较合理?
...全文
425 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
极简Qt 2011-11-13
  • 打赏
  • 举报
回复
JAVA里很多异常处理。C++里并不推荐经常使用此方式。
龙行天下之Sky 2011-11-12
  • 打赏
  • 举报
回复
全部用try{}catch{}包上的肯定是菜鸟所为
关键部分用try{}catch{}包含

贪食蛇男 2011-11-12
  • 打赏
  • 举报
回复
Java 的异常处理是语言的很大一部分,而C++的异常处理不是。
我个人是基本不用C++的异常处理和WINDOWS的 SEH 的。

我感觉在C/C++大量使用异常不好,首先不说效率问题,可能会屏蔽掉一些没暴露出来的程序BUG
d_ecade 2011-11-12
  • 打赏
  • 举报
回复
c才用if判断返回值吧,c++还是提倡异常结构编程的。只是你要自己判断哪些地方可能会有异常抛出,然后用try..包起来处理。因为c++可以用c的风格也可以是c++的所以反倒为难了,如果你包起来的函数调用是用返回值来明示错误的,用try就没什么用了,如果是以抛出异常来表示错误的,用try来处理还是有好处的。估计java看出这点来了。。所以直接提倡try吧。
smwhotjay 2011-11-12
  • 打赏
  • 举报
回复
不能一概而论. java的异常是必须的.java很多库都通过抛出异常来报错,而不是通过返回值.
c/c++不是必须的. c函数都不抛c++异常.只有用到c++库时,才可能抛出异常.这些异常也是你自己写bug代码造成的.

只有你用了c++库或其他的c++内裤.才需要try catch 当然也不是必须的.当你的代码有足够的健壮性.不可能导致出现异常.你可以不用try catch.









caddor2011 2011-11-12
  • 打赏
  • 举报
回复
学习了


请问4楼

我一般异常是自定义的TCHAR ,是不是有些嫩了。。。。




[Quote=引用 4 楼 zzz3265 的回复:]
java组的貌似全部代码都是包住的
那是因为函数的返回信息, 很多是函数内部故意抛出的异常, 其实在C++里面, COM的一些东西也经常会这样干
比如数据查询, 需要你捕捉异常, 其实这是正常的函数调用失败

如果代码你没有自己抛出异常就尽量别用, 否则程序的错误就无法暴露出来
[/Quote]
Yofoo 2011-11-12
  • 打赏
  • 举报
回复
java组的貌似全部代码都是包住的
那是因为函数的返回信息, 很多是函数内部故意抛出的异常, 其实在C++里面, COM的一些东西也经常会这样干
比如数据查询, 需要你捕捉异常, 其实这是正常的函数调用失败

如果代码你没有自己抛出异常就尽量别用, 否则程序的错误就无法暴露出来

16,548

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • AIGC Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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