黑马程序员技术交流社区

标题: 为什么有人说不提倡try....catch? [打印本页]

作者: 资建文    时间: 2012-8-20 21:34
标题: 为什么有人说不提倡try....catch?
为什么有人说不提倡try....catch?
作者: 邓戊庚    时间: 2012-8-20 22:24
try catch 大部分时候是给程序调试用的!
作者: 张文    时间: 2012-8-21 00:43
在你能保证你的代码足够好的前提下,能不用try catch就能避免的异常,绝对不要用try catch。
try - catch 是用来捕获异常的,比如项目中的数据库操作,文件读写操作等等。没必要对 try - catch 有任何不适。

当然,绝对不要乱使用 try - catch,不然你的项目总是抛异常,依靠异常来做所有的错误捕获操作是不好的习惯。比如,有一个界面需要用户输入数据,并且对用户输入的数据进行检查后保存进数据库,那么我们手工的做检查,比直接不做检查保存进数据库,依靠数据库的约束和主外键设置来对数据的合法性进行检查就要好很多。这样,就会在保存数据库之前排除掉很多可能导致错误的异常。太多的异常抛出不但会影响性能,而且也绝不是一个良好的编程习惯。

总结,try - catch 本身并不会很大地影响性能,应该说可以忽略它的存在。但是抛出很多异常就不是一个好现象,靠异常来检查所有的错误操作就绝对不好,它会影响性能,并导致不好的代码。
作者: 张文    时间: 2012-8-21 14:43
不知道楼主懂了木有。
作者: 许庭洲    时间: 2012-8-21 15:00
1.using可以创建别名,导入命名空间 ,try catch finally不行;
2.using是自动的释放资源,推荐使用,尤其是对于数据库的资源;
3.写程序的时候知道错误是什么,就用if,不建议使用try catch!
作者: 胡进辉    时间: 2012-8-22 15:01
我不觉得哦,就比如io操作,数据库操作不可能一直成功。实际环境比单机复杂的多 ,但是出现这些情况有时候不必让整个程序停止运行。故在该用的时候一定用
来自:黑马程序员训练营论坛 Android客户端
作者: 吴通    时间: 2012-8-22 20:52
因为前面抛出的异常如果用try catch来处理的话,程序就会运行。这和我们现实是不符合的,我们有的程序发生的异常是由于使用者输入的错误引起的,就像输入a和b,求a/b的值这个程序,我们知道除数不能为0,所以抛出异常,如果用try  catch来处理的话,则程序会自动解决这个问题,而我们想要的结果是假如输入0,系统应该报错,让我们重新输入数值,故用RuntimeException比较好!  说的很具体了,希望能帮到你!
作者: 刘逍遥    时间: 2012-8-24 22:01
当然使用try catch  机制 肯定增多你的代码执行压力,
多用于没有把握的代码,比如  数据库操作等
  有把握的用try catch  机制  和画蛇添足 有什么区别?  你说呢?
  合理使用 没有硬性规定!
作者: 孙玉昌    时间: 2012-8-25 09:43
应该针对不同的异常情况来区别对待,比如运行时异常、编译时异常,异常不同,采用的处理方法也不同。可以参考java的try catch讲解,比.net讲的细,但是机制是一样的,会解决你的疑惑问题。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2