C语言介绍(七)概要1
C++语言介绍(七) 一、异常错误处理 异常错误 != 程序设计错误 异常错误处理是指处理那些在程序运行时刻所产生的错误. 在C++中,产生异常错误的过程叫做创建(throw)异常,然后异常处理程序捕获(catch)该异常错误,并进行处理. VC++异常错误处理使用try、throw和catch三个关键字的作用是: (1)try:标识程序中异常语句块的开始. (2)throw:用来创建用户自定义类型的异常错误 (3)catch:标识异常错误处理模块的开始. 例:#includeiostream.h void main() { char* ptr; try //异常模块 { if((ptr=new char[64*1024])==NULL) throw “Not Enough Memory!”; } catch(char* str) //异常错误处理模块 {//……. 错误处理代码 cout“Exception:”strendl; } } 程序功能: 利用new操作符申请64KB内存空间,若申请成功,则跳转到catch块后执行后续代码;否则throw语句将产生一个char*类型的异常错误,catch块将捕获到该异常错误并执行相应的错误处理代码. 说明: (1) 如果程序内有多个异常错误处理模块,则当异常错误发生时,系统自动查找与该异常错误类型相匹配的catch模块.查找次序为catch出现的次序. 例: . . . int I,j; cin “I=”I“j=”jendl; try {I/=j; throw “Divided by zero”; } catch(char* str) {cout“Exception:”strendl; cout“Divier can’t be zero.”endl; } catch(int I) {……} catch(…)//匹配所有类型的异常错误 {cout“An Exception occurred!”endl; } . . . (2)如果异常错误类型为C++的类,并且该类有其基类,则应该将派生类的错误处理程序放在前面,基类的错误处理程序放在后面. 例:class A{……}; class B:public A {……} try {… throw B(); } catch(B demo2) {……} catch(A demo1) {……} (3)如果一个异常错误发生后,系统找不到一个与该错误类型相匹配的异常错误处理模块,则调用预定义的运行时刻终止函数,缺省情况下是abort. 例:编写用户自定义的终止函数: #include iostream.h #include eh.h #include process.h void myterm() {cout“This is my terminater.”endl; … //其它代码 exit(-1); } int main() {… //其它代码 try {set_terminate(myterm);//传递终止函数名 … //其它代码 throw “Exception:…….”; } catch(int I){… //其它代码} return 0; } 作业: 阅读下列程序,写出运行结果. #includeiostream.h void Excp(); class Ex {public: Ex(){}; ~Ex(){}; }; class Demo {public: Demo() {cout“Createing a Demo object.”endl;}
您可能关注的文档
- But you didn’t概要1.pptx
- Business Etiquette(商务礼仪2014)概要1.pptx
- BWDSP汇编入门概要1.pptx
- buzz marketing概要1.ppt
- byron she walks in beauty 美与媚概要1.ppt
- Business travel概要1.pptx
- Business Meals概要1.pptx
- Butterfly概要1.ppt
- by example of Kevin Carter’s tragedy最终版概要1.ppt
- Butterfly tie蝴蝶结英文介绍PPT概要1.ppt
- 2025年全国演出经纪人员资格认定考试试卷带答案(研优卷).docx
- 2025年全国演出经纪人员资格认定考试试卷完整版.docx
- 2025年全国演出经纪人员资格认定考试试题库及完整答案.docx
- 2025年全国演出经纪人员资格认定考试试卷完美版.docx
- 2025年全国演出经纪人员资格认定考试试卷含答案(实用).docx
- 2025年全国演出经纪人员资格认定考试试卷及答案(各地真题).docx
- 2025年下半年内江市部分事业单位公开考试招聘工作人员(240人)备考题库附答案.docx
- 2025年全国演出经纪人员资格认定考试试卷及答案1套.docx
- 2025年下半年四川成都市郫都区面向社会引进公共类事业单位人员2人备考题库最新.docx
- 2025年下半年内江市部分事业单位公开考试招聘工作人员(240人)备考题库附答案.docx
原创力文档

文档评论(0)