嵌入式Linux下C程序设计09异常处理.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《嵌入式Linux下C程序设计09异常处理.ppt》由会员分享,可在线阅读,更多相关《嵌入式Linux下C程序设计09异常处理.ppt(16页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、嵌入式嵌入式Linux下下QT程序设计程序设计主讲:成宝宗主要内容:异常处理机制异常实现异常执行过程异常接口声明异常处理中的构造与析构异常处理的实现机制抛掷异常的程序段.throw 表达式;.捕获并处理异常的程序段try 复合语句catch(异常类型声明)复合语句catch(异常类型声明)复合语句 示例:#include using namespace std;int fun(int x,int y)/抛出异常 if(y=0)throw y;return x/y;int main(int argc,char*argv)try/捕获异常 cout fun(34,5)endl;cout fun(4
2、,0)endl;catch(int)/处理int异常 cout y=0endl;catch(.)/处理所有异常 cout catch(.)endl;异常处理的实现异常处理的语法1throw语法 throw;当某段程序发现了自己不能处理的异常,就可以使用throw语句将这个异常抛掷给调用者。throw语句的使用与return语句相似,如果程序中有多处要抛掷异常,应该用不同的表达式类型来互相区别,表达式的值不能用来区别不同的异常。2try块语法 try 复合语句 try语句后的复合语句是代码的保护段。如果预料某段程序代码(或对某个函数的调用)有可能发生异常,就将它放在try语句之后。如果这段代码(
3、或被调函数)运行时真的遇到异常情况,其中的throw表达式就会抛掷这个异常。异常处理的实现3catch语法catch(异常类型1参数1)/针对异常类型1的处理语句catch(异常类型2参数2)/针对异常类型2的处理语句.catch(异常类型n参数n)/针对异常类型n的处理语句 catch语句后的复合语句是异常处理程序,捕获由throw表达式抛掷的异常。异常类型声明部分指明语句所处理的异常类型,它与函数的形参相类似,可以是某个类型的值,也可以是引用。这里的类型可以是任何有效的数据类型,包括C+的类。当异常被抛掷以后,catch语句便依次被检查。异常处理的实现 异常处理的执行过程如下:控制通过正常
4、的顺序执行到达try语句,然后执行try块内的保护段。如果在保护段执行期间没有引起异常,那么跟在try块后的catch语句就不执行,程序从异常被抛掷的try块后跟随的最后一个catch语句后面的语句继续执行下去。异常处理的执行过程 如果在保护段执行期间或在保护段调用的任何函数中(直接或间接的调用)有异常被抛掷,则从通过throw创建的对象中创建一个异常对象(这隐含指可能包含一个拷贝构造函数)。这一点上,编译器能够处理抛掷类型的异常,在更高执行上下文中寻找一个catch语句(或一个能处理任何类型异常的catch处理程序)。catch处理程序按其在try块后出现的顺序被检查。如果没有找到合适的处理
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式 Linux 程序设计 09 异常 处理
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内