C++第18章 异常处理.ppt

C++第18章 异常处理.ppt

ID:55795208

大小:519.44 KB

页数:26页

时间:2020-06-07

C++第18章 异常处理.ppt_第1页
C++第18章 异常处理.ppt_第2页
C++第18章 异常处理.ppt_第3页
C++第18章 异常处理.ppt_第4页
C++第18章 异常处理.ppt_第5页
资源描述:

《C++第18章 异常处理.ppt》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、异常处理主讲教师:陈婷18.1异常的概念18.2异常的实现18.3异常的规则18.4默认异常处理18.5异常派生族系本章内容#includeusingnamespacestd;voiddivided(doublea,doubleb){//实现两个浮点数除法doubleresult=a/b;//会不会有问题?cout<<“Result=”<>a>>b;divided(a,b);//调用divided函数retur

2、n0;}18.1异常的概念Ch18_01#include#includeusingnamespacestd;intmain(){char*ch;//字符指针longlongsize;cout<<“Pleaseinputsize:”;cin>>size;cout<<"SizeValue:"<>ch;cout<<“StringSize=”<

3、[]ch;//释放堆空间return0;}18.1异常的概念Ch18_02异常(Exception):程序有时会遇到运行阶段错误,导致程序无法正常地运行下去。例如:程序试图打开一个不可用的文件请求过多的内存遭遇不能容忍的值说明:运行异常,可以预料,但不能避免,它是由系统运行环境造成的程序要有能够解决这种运行异常的能力18.1异常的概念异常处理机制使用异常处理机制的步骤:定义异常。将那些有可能产生错误的语句框定在try语句块中。定义异常处理(捕获异常)。将异常处理的语句放在catch语句块中,以便异常被传递过来时进行处理。抛掷异常。检测是否产生异常,若是,则通过thro

4、w语句抛掷异常。18.2异常的实现try语句:定义异常catch语句:捕获异常throw语句:抛掷异常#includeusingnamespacestd;voiddivided(doublea,doubleb){//实现两个浮点数除法doubleresult;try{//定义异常if(b==0.0)throwb;//抛掷异常result=a/b;cout<<“Result=”<

5、dl;}}intmain(){doublea,b;cout<<“Pleaseinputtwonumbers:”;cin>>a>>b;divided(a,b);return0;}18.2异常的实现Ch18_03说明:try语句块表示块中的语句可能会发生异常,放在其中加以监控。注意:C++只理会受监控的运行异常。throw后面的表达式的类型被称为所引发的异常类型。在try语句块之后必须紧跟一个或多个catch语句,目的是对发生的异常进行处理(注意:try之前不允许出现catch)。catch()括号中的声明只能容纳一个形参,当类型与抛掷异常的类型匹配时,该catch()语

6、句块便称捕获了一个异常而转到其块中进行异常处理。catch()形参的值则为throw语句抛掷的异常值。当异常发生时,try语句块中异常之后的语句不再执行。18.2异常的实现#includeusingnamespacestd;voiddivided(doublea,doubleb){//实现两个浮点数除法doubleresult;try{//定义异常if(b==0.0)throwb;//抛掷异常result=a/b;cout<<“a/b=”<

7、ult<>a>>b;divided(a,b);return0;}18.3异常的规则Ch18_04C++只理会受监控的运行异常#includeusingnamespacestd;intmain(){intidx;cout<<“Pleaseinputindexv

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

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

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