



下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1.什么是异常处理?异常处理机制是用于管理程序运行期间错误的一种结构化方法。所谓结构化是指程序的控制不会由于产生异常而随意跳转。异常处理机制将程序中的正常处理代码与异常处理代码显式区别开来,提高了程序的可读性。2.什么叫异常规范?VC+6.0是否支持异常规范?异常规范提供了一种方案,可以随着函数声明列出该函数可能抛出的异常,并保证该函数不会抛出任何其它类型的异常。按照一定方法定义的函数可以抛出任何异常。通过对函数添加一些东西,我们可以限制函数能够抛出的异常。如果类的成员函数在类外定义,则类内声明和类外定义必须都有同样的异常规范。注意VC+6.0不支持异常规范。当catch语句捕获一个异常后,可
2、能不能完全处理异常,在完成某些操作后,catch子句可能决定该异常必须由函数链中更上级的函数来处理,这时catch子句可以重新抛出该异常,把异常传递给函数调用链中更上级的另一个catch子句,由它进行进一步处理。3.什么是异常重新抛出?重新抛出异常的表达式仍然为:throw;被重新抛出的异常就是原来的异常对象。4.定义堆栈类及其相应的成员函数,进行异常处理。参考程序:#includeclassStackstructNodeintcontent;Node*next;*top;public:Stack()top=NULL;boolpush(inti);boolpop(int&i);/定义堆栈类/构
3、造函数的定义/压栈成员函数的声明/弹栈成员函数的声明boolStack:push(inti)/压栈成员函数的定义Node*p=newNode;if(i5)deletep;throw0;elsep-content=i;p-next=top;top=p;returntrue;boolStack:pop(int&i)/弹栈成员函数的定义if(top=NULL)throw0;elseNode*p=top;top=top-next;i=p-content;deletep;returntrue;voidmain()Stackstl;/定义对象stl和st2intx;tryfor(inti=1;i8;i+)st1.push(i);/压栈成员函数的调用catch(int)coutStackisoverflow.n;coutstack1:endl;tryfor(inti=1;i=6;i+)st1.pop(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论