基于c++异常处理机制的研究

基于c++异常处理机制的研究

ID:5267478

大小:264.60 KB

页数:3页

时间:2017-12-07

基于c++异常处理机制的研究_第1页
基于c++异常处理机制的研究_第2页
基于c++异常处理机制的研究_第3页
资源描述:

《基于c++异常处理机制的研究》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、计算机技术与发展V()1.17No.1第21700瓣7戳期年1月COMPt兀ERTECHN()LOGYANDDEVELOPMENTJan.2007基于C++异常处理机制的研究王方良,汤文成(东南大学,江苏南京210096)摘要:异常处理是程序开发的一个重要内容,异常处理的好坏关系到程序的友好程度和系统的稳定性。C++是一种纯面向对象的编程语言,其异常处理机制和普通的编程语言有很多不同的地方,有力地增强了C++程序的健壮性和容错性。文中从介绍其运行步骤人手,通过一个简单的例子,详细阐述了C++异常处理机制的

2、规则和栈展开技术,并扼要地对比了函数调用和异常处理的异同点,以便更好地在C++面向对象程序设计中正确使用异常处理机制。关键词:C++;异常处理;栈展开中图分类号:TP311文献标识码:A文章编号:1673—629X(2007)01—0128—02DiscussionontheExceptionHandlingofC++WANGFang-liang,TANGWen—cheng(SoutheastUniversity,Nanjing210096,China)Abstract:Exceptionhandling

3、playsasignificantroleinprogrammingdevelopment.Itsperformancewillinfluencethefriendlinessandsta.bilityofthesystem.Asacompleteobjectorientedprogramminglanguage.theexceptionhandlingmechanismofC++isverydifferentfromotherprogramminglanguage。andeffectivelyimpmv

4、esrobustnessandtoleranceofthepmgrarns.Thispaperbeganwiththeintroduc-tionoftherunningsteps,andthenillustratedtheruleofexceptionhandlingmechanismandthetechnologyofstackunwindingbyatestexample.Finallyitconciselycomparedthesimilaritiesanddifferencesoffunction

5、transferringandexceptionhandlinginordertom8kepre—ciseuseofthemechanismintheobjectorientedprogramming.Keywords:C++;exceptionhandling;stackunwinding面向对象的C++程序设计语言可以编写大型和十,分复杂的程序,这样的程序往往会产生一些很难查找甚至try{..-throwE;}是无法避免的运行时错误。当发生运行时错误时,不能简catch(⋯){..·}单地结束程序运行

6、,而是退回到任务的起点,指出错误,并catch(⋯){..·}⋯:由用户决定下一步工作。面向对象的异常处理(Exception首先C++用try代码块激活异常处理程序即进行异Handling)机制便是C++语言用以解决这个问题的有力工具,并成为提高程序健壮性和容错性的重要手段之一。常定义,try代码块由关键字try后紧跟{}组成,{}中封装了可能导致异常的语句;然后用throw语句抛出可以是任1异常处理的运行步骤及规则何类型的异常数据对象(当然,throw语句并不一定放在1.1运行步骤try代码块中,也可

7、在其之前或之后);最后用catch代码块异常表示程序在执行过程中发生的问题,异常的出现对异常进行捕获和处理。很难避免。20世纪80年代末的一项研究表明,一个程序在这三个步骤中catch代码块较为复杂。catch代码里处理错误的代码可能达到整个代码量的2/3⋯,由此可块由三部分组成:关键字catch、圆括号中的异常声明(Ex.见异常处理在编程中的重要性。基于此C++引入了异ceptionDeclaration)以及复合语句中的一组语句。注意这常处理机制,它主要包括异常定义、异常抛出和异常捕获不是函数,所以圆

8、括号中不是形参,而是一个异常类型声及处理三个关键步骤旧J。对应的程序形式分别是try代明,可以是类型也可以是对象。catch子句与函数的不同码块、throw代码块和catch代码块:之处在于:它只有一个子句,没有定义和调用之分}3I。使用时由系统按规则自动在catch子旬列表中匹配。至少从收稿日期:2006一04一06逻辑上讲,没有函数的定义与调用。关于异常处理与函数作者简介:王方良(1977一),男,河南人,硕士研究生,研究

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。