| 网站首页 | 范文 | 演讲致词 | 汇报体会 | 总结报告 | 公文方案 | 领导讲话 | 党建工会 | 论文 | 文档 | 书信 | 
您现在的位置: 范文大全网 >> 论文 >> 计算机论文 >> 正文 用户登录 新用户注册
浅谈对程序开发中异常的理解和认识           
浅谈对程序开发中异常的理解和认识

从接触异常开始我就弄不明白她,不会用她,想在系统中是异常机制发挥的淋漓尽致,进行了很多尝试,利用异常控制程序流程,利用异常做数字的判断函数,利用异常消除系统中可能出现的恼人的异常提示框,为了更好了利用异常看了很多关于异常的文章,直到有一天看到了一句话——“永远不要去处理你不知道怎么处理的异常”,这才恍然大悟,感觉自己一直在用强大的异常机制干一些旁门左道的是事,更谈不上理解异常在程序中的地位和意义,异常其实一种报告机制,“她以一种不可回避的方式报告程序中所出现的问题”,她帮助程序员走向正确的道路,她忠实的向程序员提供错误报告,她希望有谁能重视并处理掉她报告的问题,哈,真不敢想象,没有了异常机制该如何编制高质量的程序!下面就个人的理解和看法瞎说几句,敬请各位批评指正,不胜感激!

异常的工作原理,在有问题的地方产生异常,马上停止当前的工作,转向异常处理代码,如果找不到异常处理代码,就会见异常向一层汇报,上一层接到异常会做同样的事,转向异常处理代码,或者再将异常向上汇报,这样逐层间错误传递出去,直到有一层处理了异常或是一直报告给程序的使用者——用户。这个层就是调用栈,当用户a运行程序b,b从函数c开始执行,调用函数d,再调用函数e,再调用函数f,这时f出现了异常,那么这个异常的调用栈就是a(栈底)—〉b—〉c—〉d—〉e—〉f(栈顶),这个异常就会沿着这个栈从栈顶开始向栈底的方向报告,如果在函数c中有对这个异常的处理代码,那么这个异常的报告链就是f—〉e—〉d—〉c。可以看出,如果在完整的调用栈中没有处理这个异常的代码,用户a就成了异常报告的终点,向windows界面系统,会弹出一个恼人的消息对话框哈。loCalhoST

那么用户a向谁报告呢,哈哈,这个已经不属于程序的范围了,感觉用会对程序而言好像上帝一样,诉说痛苦已经让上帝都听到了,就心满意足了哈哈,看来程序真虔诚哈哈。对于异常这个特性,也可以比喻成下属向上级报告问题,如果下属知情不报,问题就严重了,你要是领导知道下属是这样的八成就踢了他,相反如果你有一个报告机制健全的下属队伍,哈哈你就威风了。日本企业文蛤中有个宗旨——联络,商谈,报告,其实就是想让员工都具有向上级汇报的习惯。现在再看看程序,哈哈,你不用给她们灌输什么企业文化,不用她们讲述什么报告的重要性,她们本身就是忠实报告的,如果把程序员比作企业老总,那么程序就是训练一队有素的员工。

怎样处理异常。在这里有个原则就是“永远不要去处理你不知道怎么处理的异常”,

也就是只处理你知道如何处理的异常,对那些你不知道的异常必须广开言路,并积极地向上级汇报。什么叫知道如何处理呢?先说一下处理异常有哪些方式,大体有,弹出提示消息框(这个消息框不同于那个恼人的异常报告消息框,她是捕获异常后,根据处理的具体环境程序员主动编写的友好的提示消息框),记录错误日志,吞掉,做善后工作等等,那么出现异常时就要站在出现异常的模块的立场上考虑一下我应该选择哪种处理方式呢?如果不能做出选择就选择不处理,即向上级报告。

举个例子,函数fun1是创建并返回一个活动的数据连接对象的方法,他接受一个数据库连接字符串,如果调用者(上级)给他一个错误的连接字符串,这时fun1创建不了连接对象,产生了一个创建不了连接对象的异常,那么这时他应该怎样处理这个异常呢?弹出友好的消息框?说什么友好,fun1根本就不知道是什么原因使他接收到了错误的连接字符串,弹一个“连接字符串有误”,用户肯定都有杀你的心,这个提示和用户的业务逻辑有嘛关系!记录错误日志,这个还行,但是记录下来的文字无非就是“连接字符串有误,连接字符串是:sql……”,好点的话,从连接字符串中看出了问题,一般情况下还得根据代码上下文去找问题原因。这个方式不是不行是不好。吞掉,哈哈开什么玩笑,你既创建不了连接,又不吱一声,想让调用者疯了呀,这个肯定不行。做善后工作,行,确实应该清理一下现场,免得浪费资源,但是还是没吱一声,所以这个方式做的不彻底。没招了,哈,其实上面的分析给我们指明了一条路,帮助我们祛除了错误的选择,这条路就是向上汇报,或是不加任何出来代码,或是记录日志,做些善后,再重新将异常抛出。

那么什么时候就知道怎样处理异常了,这就得看实际的情况和用户的要求了,这句话等于没说,就像其他的标题醒目但给出的结论却模棱两可文章一样,哈哈,这里可以给几个建议,

1,一般地,底层模块或是方法中不要处理异常,

2,编写公共模块、dll等是,不能采用弹出对话框等依赖于平台,框架的方式处理异常,

3,编写公共模块、dll等时,必须在使用文档中注明每个方法属性可能抛出的异常。

4,永远不要写 try 这样的语句。

{ } catch(exception) { o nothing } 自定义异常。明白了异常的原理和机制后,就可以自己定义异常了,这样的实践往往在编写控件、公共模块、dll等的时候,用错误编号在网上搜索一下,能找出一大堆关于错误代码的描述。其中大多数是m(icro)s(oft)制定的,ms 从操作系统到各种各样的框架都有对各种异常的编号,对每种异常做出了详细的定义,如果你还用过像spread等商业控件,也可以看到他里边的各种各样的异常定义,也就是说我们自己也可以定义异常,在必要的时候,这样就可以让自己写的模块也加入到训练有素的员工队伍中了。至于如何定义异常,具体的编成语言有具体的做法,比如c#中指定一异常一个从exception继承来的类,vb中异常是个全局变量等等,参见感兴趣语言的语法指南就可以了。

对异常的重新认识,一直以来许多人都认为异常是非常可怕的,可恶的,她是错误的化身,她有恼人的弹出对话框,弄得用户跟凶煞恶神似的哈哈,其实这些都是误解,异常一直默默地忠实的报告着程序中出现的严重的不可回避的问题,她为了程序、系统的正确性、严谨性呼唤你,希望你重视这些问题,希望你用智慧解决这些问题,她是多么的可爱,又是多么的高尚,从来没有因为对她的误解而放弃自己的使命……异常很重要,我们更好学会如何去使用她。

  • 上一个论文:

  • 下一个论文:


  • 看了《浅谈对程序开发中异常的理解和认识》的网友还看了:
    [法律论文]浅谈我国经济犯罪死刑的废止
    [法律论文]浅谈农村基层组织工作人员渎职罪主体资格探析
    [法律论文]浅谈文化迁徙与思想政治教育环境的关系
    [法律论文]浅谈渣滓洞看守所被关押人员被捕原因略考
    [法律论文]浅谈马锡五审判方式对现代司法制度的影响
    [法律论文]浅谈在《东盟宪章》下解决当前法律问题
    [法律论文]浅谈破除制约瓶颈、拓展路径空间,不断开创消防法
    [法律论文]浅谈有关司法实践中风俗习惯的适用分析
    [法律论文]浅谈对歌曲作品的认定以及对歌曲作品权利主体的认
    [电子机械]浅谈中小企业电子信息安全技术研究

    计算机论文
    普通论文谈CRT显示器的保养
    普通论文计算机网络安全问题研究
    普通论文论信息化环境下的计算机技术在工
    普通论文浅析防火墙体系结构和设计
    普通论文现场总线控制系统在石化行业的应
    普通论文论析网络化环境下海洋数字档案的
    普通论文论医院计算机网络信息资源管理
    普通论文论网络电视的现状及发展
    普通论文关于电子技术应用专业课改的设想
    普通论文基于XML 的异构数据交换的研究
    普通论文嵌入式实时操作系统研究与分析
    普通论文基于构造超平面的两阶段决策树算
    论文
    普通论文[企业管理]物资集中管理模式下的精
    普通论文[免费范文]入党培训心得体会
    普通论文[企业管理]我国古代用人制度的当代
    普通论文[今日更新]荷兰的监狱制度
    普通论文[免费范文]优化价值链管理:房地产
    普通论文[今日更新]国际政治经济学视野中的
    普通论文[免费范文]上半年娱乐场所消防安全
    普通论文[免费范文]2007年巡防管理办公室工
    范文大全
    普通范文[范文大全]2011年公司员工辞职信模
    普通范文[范文大全]2010年4月(在校大学生)入
    普通范文[范文大全]中小学开展中华传统美德
    普通范文[范文大全]校长2010年在全校党员大
    普通范文[范文大全]农业信息分析工作意义取
    普通范文[范文大全]管理者代表管理评审工作
    普通范文[规章制度]X局网络管理和使用办法
    普通范文[范文大全]市国税局办税服务大厅典
    演讲致词
    普通演讲[会议发言稿]2005在全区政法综治工作会
    普通演讲[竞聘演讲稿]党委办公室副主任竞职报告
    普通演讲[节日祝福语]2010年光棍节是几月几日?
    普通演讲[节日祝福语]2012年公司庆祝三.八妇女节
    普通演讲[庆典致辞]市长在立交桥竣工通车剪彩
    普通演讲[会议发言稿]在科技计划项目申报工作会
    工作范文
    普通公文方案[公文写作]个人先进事迹材料(财政党
    普通公文方案[常用公文]保持*党员先进性教育活动简
    普通总结[工作计划]2007年度依法行政工作计划
    普通公文方案[常用公文]社区党总支部创先争优活动
    普通公文方案[公文写作]维护新区社会稳定 促进*文
    普通公文方案[活动方案]学生器乐比赛组织方案
    普通党建工会[国庆范文]迎国庆六十周年诗歌
    普通总结[工作计划]09年春学校主要工作计划
    普通汇报体会[心得体会]警示教育片心得体会
    普通党建工会[记要]乡镇党风廉政总结
    普通汇报体会[经验材料]某局建设五型机关 开展先进
    普通总结[工作计划]旅游经济开发区专业人才和