C++语言程序设计(清华大学郑莉)十二ppt课件.ppt
《C++语言程序设计(清华大学郑莉)十二ppt课件.ppt》由会员分享,可在线阅读,更多相关《C++语言程序设计(清华大学郑莉)十二ppt课件.ppt(14页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第十二章第十二章 异常处理异常处理清华大学清华大学 郑郑 莉莉C+语言程序设计C+语言程序设计清华大学 郑莉2本章主要内容本章主要内容l异常处理的基本思想异常处理的基本思想lC+异常处理的实现异常处理的实现l异常处理中的构造与析构异常处理中的构造与析构C+语言程序设计清华大学 郑莉3异常处理的基本思想异常处理的基本思想函数f()捕获并处理异常函数h() 引发异常函数g()调用者异常传播方向调用关系C+语言程序设计清华大学 郑莉4异常处理的实现机制异常处理的实现机制l抛掷异常的程序段抛掷异常的程序段.throw 表达式;.l捕获并处理异常的程序段捕获并处理异常的程序段try 复合语句catch(
2、异常类型声明) 复合语句catch(异常类型声明) 复合语句 C+语言程序设计清华大学 郑莉5异常处理的实现机制(续)异常处理的实现机制(续)l若有异常则通过若有异常则通过throwthrow操作创建一个异常对象并抛掷。操作创建一个异常对象并抛掷。l将可能抛出异常的程序段嵌在将可能抛出异常的程序段嵌在trytry块之中。控制通过正块之中。控制通过正常的顺序执行到达常的顺序执行到达trytry语句,然后执行语句,然后执行trytry块内的保护段。块内的保护段。l如果在保护段执行期间没有引起异常,那么跟在如果在保护段执行期间没有引起异常,那么跟在trytry块块后的后的catchcatch子句就不
3、执行。程序从子句就不执行。程序从trytry块后跟随的最后一块后跟随的最后一个个catchcatch子句后面的语句继续执行下去。子句后面的语句继续执行下去。lcatchcatch子句按其在子句按其在trytry块后出现的顺序被检查。匹配的块后出现的顺序被检查。匹配的catchcatch子句将捕获并处理异常(或继续抛掷异常)。子句将捕获并处理异常(或继续抛掷异常)。l如果匹配的处理器未找到,则运行函数如果匹配的处理器未找到,则运行函数terminateterminate将被将被自动调用,其缺省功能是调用自动调用,其缺省功能是调用abortabort终止程序。终止程序。C+语言程序设计清华大学 郑
4、莉6例例12-1处理除零异常处理除零异常#includeiostream.h#include int Div(int x,intint Div(int x,int y); y);intint main() main() trytry cout5/2=Div(5,2)endl cout5/2=Div(5,2)endl; ; cout8/0=Div(8,0)endl cout8/0=Div(8,0)endl; ; cout7/1=Div(7,1)endl cout7/1=Div(7,1)endl; ; catch(int catch(int) ) coutexcept of deviding co
5、utexcept of deviding zero.n; zero.n; coutcoutthat is ok.n;that is ok.n; int Div(int x,intint Div(int x,int y) y) if(yif(y=0) throw y;=0) throw y;return x/yreturn x/y; ; 程序运行结果如下:程序运行结果如下:5/2=25/2=2except of devidingexcept of deviding zero. zero.that is ok.that is ok.C+语言程序设计清华大学 郑莉7异常接口声明异常接口声明l可以在函
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 语言程序设计 清华大学 十二 ppt 课件
限制150内