C++教程教学课件 作者 郑莉 李宁 12_容错及异常处理基础.ppt

C++教程教学课件 作者 郑莉 李宁 12_容错及异常处理基础.ppt

ID:50318774

大小:1.47 MB

页数:22页

时间:2020-03-08

C++教程教学课件 作者 郑莉 李宁 12_容错及异常处理基础.ppt_第1页
C++教程教学课件 作者 郑莉 李宁 12_容错及异常处理基础.ppt_第2页
C++教程教学课件 作者 郑莉 李宁 12_容错及异常处理基础.ppt_第3页
C++教程教学课件 作者 郑莉 李宁 12_容错及异常处理基础.ppt_第4页
C++教程教学课件 作者 郑莉 李宁 12_容错及异常处理基础.ppt_第5页
资源描述:

《C++教程教学课件 作者 郑莉 李宁 12_容错及异常处理基础.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第十二章容错及异常处理基础清华大学郑莉学习目标掌握异常的抛出和捕获方法;掌握异常对象的声明方式;了解异常的接口声明和异常规范的使用。2目录12.1异常处理的基本思想12.2抛出异常12.3捕获异常12.4异常对象12.5标准程序库异常处理12.6异常规范4.2.1数据在内存中的地址4.2.2指针及指针运算312.1异常处理的基本思想程序运行中的有些错误是可以预料的,例如发生诸如除数为零、内存申请不成功、硬盘文件被移动或者被损坏等的情况。程序在运行到发生异常之时,应该对所发生的情况做相关的工作之后再退出,把当前控制权交给上一级的函数。C+

2、+语言提供对处理异常情况的支持。try、throw和catch语句就是C++语言中用于实现异常处理的机制。412.2抛出异常抛出异常throw表达式的语法为:throw表达式如果某段程序中发现了自己不能处理的异常,就可以使用throw表达式抛掷这个异常,将它抛掷给调用者。throw的操作数表示异常类型,语法上与return语句的操作数相似,如果程序中有多处要抛掷异常,应该用不同的操作数类型来互相区别,操作数的值不能用来区别不同的异常。5例12-1:处理函数中除数为零的异常(简单异常处理函数)#includeusing

3、namespacestd;intDivide(intx,inty){if(y==0)throwy;returnx/y;}intmain(){try{cout<<“5/2=”<

4、12-1(续)12.2抛出异常7例12-2:异常处理类中除数为零的异常(抛出异常类)#includeusingnamespacestd;classZeroExcep{public:ZeroExcep():message(“Errorbydividingzero!”){}//除零异常constchar*GetMessage(){returnmessage;}private:constchar*message;};doubledivide(intnum,intdenum){if(denum==0)throwZeroExc

5、ep();//抛出异常returnstatic_cast(num)/denum;}812.2抛出异常例12-2(续)voidmain(){intnum1,num2;cout<<“Pleaseinputtwointergers:”;while(cin>>num1>>num2){try{cout<<”Theresultis:”<

6、异常cout<<”Inputtwointergers:”;}}912.2抛出异常运行结果:Pleaseinputtwointergers:74Thequotientis:1.75Pleaseinputtwointergers:100Exceptionis:Errorbydividingzero!例12-2(续)12.2抛出异常1012.3捕获异常当异常被抛掷以后,catch子句便依次被检查,若某个catch子句的异常类型声明与被抛掷的异常类型一致,则执行该段异常处理程序。如果异常类型声明是一个省略号(…),catch子句便处理任何类型的

7、异常,但这段处理程序必须是try块的最后一段处理程序。try-catch块的语法如下try复合语句catch(异常类型声明)复合语句catch(异常类型声明)复合语句11例12-3:求给定数的平方根(捕获负数异常)intmain(){intx;while(true){cout<<“Pleaseinputapositiveinterger:”;cin>>x;try{cout<

8、rn0;}1212.3捕获异常运行结果:Pleaseinputapositiveinterger:82.82843Pleaseinputapositiveinterger:-2Itisanegativein

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

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

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