我的观点:
对效率的影响不大,可以放心使用。因为就算你不写代码去捕获可能出现的异常,.net Framework在运行时也会帮你捕获运行时出现的异常,转向其异常处理程序,结果就是弹出对话框来提示你,我想大家在调试的时候都见识过吧。http://community.csdn.net/Expert/topic/3069/3069316.xml?temp=.9235803

解决方案 »

  1.   

    没什么大影响,即使你不用try..catch,framework也会在你的程序外套个大的try..catch块。
      

  2.   

    在这个程序运行过程中,如果第一次出现某种类型的异常,将会花费framework较大的资源,在这之后发生的相同类型的异常则没有这个问题
    举例如下try
    {
        int i = int.Parse("asdfa");
    }
    catch (Exception ex)
    {
        MessageBox.Show("第一次出错");
    }try
    {
        int i = int.Parse("asdfa");
    }
    catch (Exception ex)
    {
        MessageBox.Show("第二次出错");
    }
    你将可以看到,第一次异常发生时处理时间较长,第二次则很快了
      

  3.   

    antshome(忧郁的苦瓜)说得很对第一次出现错误后,第二次处理速度是快了很多!但实际上我用try的次数并不多,只是在外部有问题将有可能影响我的程序时才try!
      

  4.   

    有些时候是很慢的,比如你用2个textBox来输入数据,按“添加”按钮录入dataGrid。正确的输入值是数字,而却输入了字母,这时候你如果设立了try......catch会停顿1-2秒种,但我同时发现第二次如果输入了错误的数据,基本上不停顿。
      

  5.   

    楼上的同一,如果为了安全还是要使用try catch
    比如数据层的操作。
      

  6.   

    当然会影响啦~~
    你要首先避免它运行catch
    如果能掌握的错误就自己处理,不是总是依懒着catch..........
      

  7.   

    恩,有些会稍微慢点,有些就没什么影响,估计和CATCH的错误类型有关吧,所以涉及到。NET的反应和运行。一般多运行几次后就会更快,基本没什么影响的相对应其用途来说,这不算什么,对于数据的处理及其安全,是需要CATCH的
      

  8.   

    对程序大小有影响,对效率应该没什么影响。反正try不try语句都要执行,大不了多了个如果出错而catch而已。
      

  9.   

    try{}catch{}try{}部分和不加try/catch语句块的效率几乎一样
    catch{}部分似乎需要100倍以上的时间所以只要不把try{}catch{}作为你的程序的逻辑,这种设计就是合理的
      

  10.   

    同意 Sunmast 的意见以前记得是思归还是哪位ms的专家说过一个事情