




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、CompanyLOGO第第8章章 异常处理和诊断异常处理和诊断西安国腾天创信息技术有限责任公司西安国腾天创信息技术有限责任公司VC+程序设计程序设计2.0029 81262816ysc_西安国腾天创信息技术有限责任公司西安国腾天创信息技术有限责任公司内容摘要:内容摘要: 处理处理C+C+异常异常 MFCMFC异常类捕获程序异常异常类捕获程序异常 MFCMFC提供的用于诊断程序的宏调式程序提供的用于诊断程序的宏调式程序西安国腾天创信息技术有限责任公司西安国腾天创信息技术有限责任公司8.1 处理C+异 学习目标学习目标 使用使用try、catch、throw三个关三个关字来实现异常处理字来实现异常
2、处理 。 返回第8章西安国腾天创信息技术有限责任公司西安国腾天创信息技术有限责任公司1.try块:标志可能会出现异常的代码。块:标志可能会出现异常的代码。2.catch块:紧跟着块:紧跟着try块,里面包含了处理异常的代块,里面包含了处理异常的代码。码。3.throw块块 :抛出一个异常,激活:抛出一个异常,激活catch块中相应的块中相应的异常处理代码。异常处理代码。西安国腾天创信息技术有限责任公司西安国腾天创信息技术有限责任公司例题例题#include class CExceptpublic:CExcept(int ExCode)m_ExCode = ExCode; int GetCode
3、()return m_ExCode;private:int m_ExCode; 西安国腾天创信息技术有限责任公司西安国腾天创信息技术有限责任公司void main()char ch;trycout at begining of try block n;cout ch;if(ch = y | ch = Y)throw error description; cout ch;if(ch = y | ch = Y)throw 1;西安国腾天创信息技术有限责任公司西安国腾天创信息技术有限责任公司cout ch;if(ch = y | ch = Y)throw 2; cout ch;if(ch = y |
4、 ch = Y)throw CExcept(5); cout ch;if(ch = y | ch = Y)throw 3.14159;cout at end of try block(no exception thrown n;西安国腾天创信息技术有限责任公司西安国腾天创信息技术有限责任公司catch(char *ErrorMsg)cout char * exception thrown; exception message: ErrorMsg n; catch(int ErrorCode)cout int exception thrown; exception code: ErrorCode
5、 n; catch(CExcept Except)cout class CExcept exception thrown; code: Except.GetCode() n;西安国腾天创信息技术有限责任公司西安国腾天创信息技术有限责任公司catch(.)cout unknown type of exception thrown n; cout after last catch block m_cause = CFileException:fileNotFound ) printf( ERROR: File not foundn); else if( e-m_cause = CFileExcep
6、tion: diskFull) printf( ERROR: Disk fulln); else if( e-m_cause = CFileException: endOfFile) printf( ERROR: End Of Filen);END_CATCH西安国腾天创信息技术有限责任公司西安国腾天创信息技术有限责任公司8.3 诊断服务诊断服务 1 使用使用ASSERT宏宏2使用使用VERIFY宏宏3使用使用TRACE宏宏返回第8章西安国腾天创信息技术有限责任公司西安国腾天创信息技术有限责任公司1. 使用ASSERT宏这个宏的用法如下:这个宏的用法如下:ASSERT( booleanExpr
7、ession ); 其中的参数其中的参数booleanExpression是一个表是一个表达式或指针。达式或指针。 如果参数不为真,这个宏就显示一个诊如果参数不为真,这个宏就显示一个诊断信息对话框,并终止程序的运行。如果参断信息对话框,并终止程序的运行。如果参数为真,它不做任何事情。诊断信息按照下数为真,它不做任何事情。诊断信息按照下面的形式显示:面的形式显示:西安国腾天创信息技术有限责任公司西安国腾天创信息技术有限责任公司使用ASSERT宏西安国腾天创信息技术有限责任公司西安国腾天创信息技术有限责任公司2. 使用VERIFY宏这个宏的用法如下:这个宏的用法如下:VERIFY( boolean
8、Expression ) ; 其中的参数其中的参数booleanExpression是一个表是一个表达式或指针。达式或指针。 如果参数不为真,这个宏就显示一个诊如果参数不为真,这个宏就显示一个诊断信息对话框,并终止程序的运行。如果参断信息对话框,并终止程序的运行。如果参数为真,它不做任何事情。诊断信息的显示数为真,它不做任何事情。诊断信息的显示形式与形式与ASSERT 相同:相同:西安国腾天创信息技术有限责任公司西安国腾天创信息技术有限责任公司ASSERT和VERIFFY两个宏之间的差别 ASSERT:仅在仅在MFC的调试(的调试(Debug)版本中有)版本中有效效VERIFFY:在在MFC的发布版本中,它仍对参数进的发布版本中,它仍对参数进行测试行测试 ,但是当参数为假时,不弹出诊,但是当参数为假时,不弹出诊断信息对话框。断信息对话框。 西安国腾天创信息技术有限责任公司西安国腾天创信息技术有限责任公司3. 使用TRACE 宏这个宏的用法如下:这个宏的用法如下:TRACE( exp ); TRACE是一个在程序运行时跟踪变量是一个在程序运行时跟踪变量数值的便捷方法
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 祭英雄敬忠魂课件
- 水利水电工程积累经验试题及答案
- 素描茄子美术课件
- 工程效益测算方法试题及答案
- 行政管理公共关系学考试优化试题及答案
- 汽车底盘设计关键技术解析
- 2024年水利水电工程考生回顾试题及答案
- 行政管理中工作的公共关系学试题及答案
- 电子商务平台入驻合同协议规范
- 投资合作协议修订
- 小学生偏旁部首所表示的意义
- 七年级历史上册 第一单元 单元测试卷(人教版 2024年秋)
- 2024版电力服务咨询服务合同范本
- 业务协作费用协议书
- 国家职业资格目录 2023
- 高处作业安全施工方案
- 烧结煤矸石实心砖和多孔砖块用技术标准DBJ-T13-195-2022
- 食品安全知识竞赛考试资料
- 西方古代建筑史 知到智慧树网课答案
- 失禁性皮炎VS压力性损伤课件
- 河北某风电场 9月19日62#风机机舱火灾事故调查报告
评论
0/150
提交评论