首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 系统运维 >

错误处理对效率的影响——你不知道的错误(三)

2012-09-01 
异常处理对效率的影响——你不知道的异常(三)首先,向大家道欠,今天才将三写出来。看过你不知道的异常(一)的同

异常处理对效率的影响——你不知道的异常(三)

        首先,向大家道欠,今天才将三写出来。

        看过你不知道的异常(一)的同学应该会知道我接下来要写什么,那就是抛一个异常和接住异常到处理和不进行此操作在时间上有什么区别?

        首先是BLL层的代码


        这里是代码:        

Imports BLLPublic Class btnTest    Dim sw As New Stopwatch    Private Sub btnNotUse_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnNotUse.Click        Dim j As Integer        sw.Reset()        sw.Restart()        For i As Integer = 1 To 1000000            j = j + 1        Next        sw.Stop()        MsgBox("未抛异常所用时间为:" + sw.ElapsedMilliseconds.ToString)    End Sub    Private Sub btnUse_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnUse.Click        Dim textClass As New TestManage        Dim j As Integer        Try            sw.Reset()            sw.Restart()            For i As Integer = 1 To 1000000 - 1                j = j + 1            Next            textClass.TestDemo()        Catch ex As Exception            sw.Stop()            MsgBox(ex.Message + sw.ElapsedMilliseconds.ToString)        End Try    End SubEnd Class
        运行后,你会惊奇的发现,二者时间几乎一样,我就不给大家分享二者区别很小的图片了,大家可以自己运行,或者自己写一个Demo来试一下。

        我的电脑是I3 370的处理器,运行100W次,没有进行一场处理才用了3毫秒(只含有效数据),进行一场处理才4毫秒(只含有效数据),所以,有些事情一定要是自己做了实验之后再去下结论,从目前这个数据来看,采取异常处理,对程序的时间特性几乎没有影响(人能感觉到的时间差要远远大于这个)。

        至于系统资源的消耗问题,个人水平比较洼,对于底层的东西不甚了解,所以不评论,但个人感觉,如果用了异常会明显影响系统的性能,那么还设计出来这个干嘛呢?

        在实用和友好性上,界面的迅速我感觉是很重要的,总不能人点一个按钮得等十来秒吧。。。

2楼lfmilaoshi昨天 11:47
举一反三!很有高度呀!米老师
1楼xiaoduishenghuogo昨天 19:44
运行100W次,没有进行一场处理才用了3毫秒(只含有效数据),进行一场处理才4毫秒(只含有效数据)n刚看到这句话,我还以为是抛100W次异常,差了1毫秒。仔细一看代码,原来就抛一次哈!
Re: jianxin1009昨天 09:00
回复xiaoduishenghuogon程序中有一个异常就会停的,好么?
Re: xiaoduishenghuogo昨天 10:53
回复jianxin1009n对呀,所以比较好奇,才仔细看源码的嘛!

热点排行