我写的程序, 几乎每个函数都有try ..catch ,被leader说,这样影响效率,尽量不要写。try..catch是不是很费时间呢? 如果不抛出异常的话,影效率甚微,可以不考虑的。用try catch 应是好习惯,可以避免系统的崩溃。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 可用太多try...catch...的话,是会影响代码的阅读的,当代码起来越多的时候那影响可不小。 用try catch 不仅仅是影响阅读,更主要的是影响程序的性能,占用资源很大在没有可能的异常抛出的时候不要加try catch因为.net处理得时候,要为try catch分配资源,然后运行里面的语句 多了会有影响的。有时是可以用if(){}else{}来判断的。 我觉得好习惯啊。特别在WEB应用中,系统容易崩溃就很容易受一攻击。 发时间的是catch部分,如果不是万不得已,最好不要用try catch。 我曾经遇到过,一个很简单的方法,但就是很慢,搞得莫名其妙,后来才查出来问题出在catch,因为抛异常再catch很发时间。 绝对是影响性能得,所以一般考虑再比较容易出问题得时候才用try catch try catch的使用,现在已经形成一门专门的学问了,你去书店逛逛应该能找到一些有关这个主题的专业书. 凭经验尽量减少try..catch当然有些地方是没办法不过winform中出错没有捕获系统也不会崩溃的,倒是还是有错误提示是否继续还是推出. 我每个函数程序代码很少80多行吧。但比如说,有类型转换,我就加try了。 实际上,如果类型转换出错的话,应该报错的,如果斑竹不想报错,而作另外的处理的话,那就只有catch了。 实际上,如果类型转换出错的话,应该报错的,如果斑竹不想报错,而作另外的处理的话,那就只有catch了。 try..catch 有很多优点,而且如果产生异常,也需要catch来捕获啊所以我个人认为try..catch很有必要的哦,是个好习惯啊 根本无所谓的不过要注意的是不要把catch{}里面的代码作为程序的逻辑来用try{}部分几乎不花什么时间,而catch{}部分会用掉上百倍的时间关于异常处理,一般是按照在底层抛出异常,在上层处理异常 我一般用try{}catch(){}也就是调试的时候捕捉错误而用,方便使用;但是,有时候,用的恰当也很好的啊,特别是在捕捉一个空错误的时候,比如,在TreeView中的MouseDown事件中,要得到节点,你用了一个方法,但是,你要是没有点击在节点范围内,那么就会出现错误,你这是可以捕捉一个空异常啊..........反正我的意思是,要用的时候就用,不用的时候就不用贝,看你分析的结果了 显然影响效率的如果你的catch没有筛选那就更惨,它会阻塞所有的Exception你想,有些Exception根本就是无所谓的,或者你不Care的,它也会进入catch块里面进行判断,现在的CPU都是基于分支预测技术的。这样会大大影响效率。 个人看法1. try catch是个好习惯,他让编程人员关注于业务部分,不用考虑那各种各样的错误返回代码2. 效率问题,是会有影响,但只是在异常发生的时候体现明显,我想一个程序不可能总是在处理异常吧,所以效率不是主要问题3. 选择异常和返回的时机,返回值只与业务相关,除此以外,都用异常欢迎大家批评 代码安全我常用下列方法,而不是单一使用try catch1.参数检查2.返回值3.try catch 从安全性上看,我完全同意用但是效率上看是对整个系统有所影响的所以同意kuangren(J※今天逃课~『天若有情天亦老』) 的看法 我还是觉得try...catch应主要写在调试时,然后根据程序的编写进度,慢慢地减少其中的try...catch...数量,只留下一些难以确保运行结果的地方才用。 好习惯是教科书上讲的,呵呵,实际开发中不要太教条。真正好的习惯应该是综合权衡效率和健壮性。用这个肯定要耗费时间的,不耗费时间是假话。如果你仔细看微软的一些Demo,他们也不是到处都是try ...catch的。在一些无关重要的地方、不易出错的地方,当然不应该用错误处理语句;另一方面,程序员的工作目标之一不正应该是努力减少程序中不稳定的地方、减少容易出错的代码---也就是减少需要使用try...catch这样的可能性吗? 如何用好,也很伤脑筋啊,看来安全与效率不可兼得了,我还是比较喜欢用try-catch得,百密一疏。 用try-catch是比较慢的,你能转换成if else就转换成if else,或者用try catch finally也可以。 尤其在数据库的代码中,一定要用try-catch, 根据经验先判断异常啊不要动不动就try-catchtry{ 2>1}。。这就不必了 我认为一些我们不可预知的错误,可以采用try...catch,如果我们可以预先知道的,多在程序里面做处理。 比如,简单的值校验等,就不可以采用try...catch。 如果是底层数据库访问,因为出现的有些异常我们是不可知的,需要捕捉异常,否则系统崩溃,比起系统缓慢是要糟糕的多。 会有效率影响,所以在对性能要求严格的地方,对可能发生异常的函数,先查msdn,找到触发异常的条件,用if()来避免异常,或者捕获相应的异常,不要只是一个try{}catch{} 一个好的程序,当然首先是安全实用的,在此前提下,还要做到程序的可读性强,作到程序的简洁。所以,没必要用try...catch的地方就没必要用。用多了不仅看起来觉得谨慎过分,而且在性能上也是会有一定的影响。 try catch是很费时间,因为每做一次,虚拟机都会进行压栈操作。所以,效率就会低很多,你们头说得没错。 各位说些具体的情况吧,简单的操作,谁会用try。比如说 i*j 操作,会有溢出的情况,虽然简单,还是需要try。 关于查找结果中高亮显示的问题 怎么对IEnumerable的记录 增删改 ^什么意思 如何进行数据装换啊 VS 2005 中的DataGridView 自带的保存功能是否已经做好 请教各位高手:如何在局域网内部的机器中高速高效的进行大批文件的复制? 关于win2003+IIS,建站问题??? 把一段文本里的值读到变量里 如何将DataGrid中显示的数据导入成EXCEL文件格式? 关于together中模式的代码自动生成 数据库连接问题,请高手诊断一下 窗口装载问题? InsertCommand的问题??
在没有可能的异常抛出的时候不要加try catch
因为.net处理得时候,要为try catch分配资源,然后运行里面的语句
有时是可以用if(){}else{}来判断的。
特别在WEB应用中,系统容易崩溃就很容易受一攻击。
当然有些地方是没办法不过winform中出错没有捕获系统也不会崩溃的,倒是还是有错误提示是否继续还是推出.
但比如说,有类型转换,我就加try了。
所以我个人认为try..catch很有必要的哦,是个好习惯啊
不过要注意的是
不要把catch{}里面的代码作为程序的逻辑来用
try{}部分几乎不花什么时间,而catch{}部分会用掉上百倍的时间关于异常处理,一般是按照在底层抛出异常,在上层处理异常
如果你的catch没有筛选那就更惨,它会阻塞所有的Exception
你想,有些Exception根本就是无所谓的,或者你不Care的,它也会进入catch块里面进行判断,现在的CPU都是基于分支预测技术的。
这样会大大影响效率。
1. try catch是个好习惯,他让编程人员关注于业务部分,不用考虑那各种各样的错误返回代码
2. 效率问题,是会有影响,但只是在异常发生的时候体现明显,我想一个程序不可能总是在处理异常吧,所以效率不是主要问题
3. 选择异常和返回的时机,返回值只与业务相关,除此以外,都用异常
欢迎大家批评
1.参数检查
2.返回值
3.try catch
但是效率上看是对整个系统有所影响的
所以同意kuangren(J※今天逃课~『天若有情天亦老』) 的看法
我还是比较喜欢用try-catch得,百密一疏。
不要动不动就try-catch
try
{
2>1
}
。。
这就不必了
比如,简单的值校验等,就不可以采用try...catch。
如果是底层数据库访问,因为出现的有些异常我们是不可知的,需要捕捉异常,否则系统崩溃,比起系统缓慢是要糟糕的多。
因为每做一次,虚拟机都会进行压栈操作。
所以,效率就会低很多,你们头说得没错。
比如说 i*j 操作,会有溢出的情况,虽然简单,还是需要try。