个人习惯基本都是用if判断,除了关键代码很少会用上try{}catch{},看到隔壁java组的貌似全部代码都是包住的......话说哪种比较合理?

解决方案 »

  1.   

    c才用if判断返回值吧,c++还是提倡异常结构编程的。只是你要自己判断哪些地方可能会有异常抛出,然后用try..包起来处理。因为c++可以用c的风格也可以是c++的所以反倒为难了,如果你包起来的函数调用是用返回值来明示错误的,用try就没什么用了,如果是以抛出异常来表示错误的,用try来处理还是有好处的。估计java看出这点来了。。所以直接提倡try吧。
      

  2.   

    Java 的异常处理是语言的很大一部分,而C++的异常处理不是。
    我个人是基本不用C++的异常处理和WINDOWS的 SEH 的。我感觉在C/C++大量使用异常不好,首先不说效率问题,可能会屏蔽掉一些没暴露出来的程序BUG
      

  3.   

    全部用try{}catch{}包上的肯定是菜鸟所为
    关键部分用try{}catch{}包含
      

  4.   

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

  5.   

    学习了
    请问4楼我一般异常是自定义的TCHAR ,是不是有些嫩了。
      

  6.   

    不能一概而论. java的异常是必须的.java很多库都通过抛出异常来报错,而不是通过返回值. 
    c/c++不是必须的. c函数都不抛c++异常.只有用到c++库时,才可能抛出异常.这些异常也是你自己写bug代码造成的.只有你用了c++库或其他的c++内裤.才需要try catch 当然也不是必须的.当你的代码有足够的健壮性.不可能导致出现异常.你可以不用try catch.
      

  7.   

    JAVA里很多异常处理。C++里并不推荐经常使用此方式。