面向对象程序设计异常处理

上传人:g**** 文档编号:49247136 上传时间:2018-07-26 格式:PPT 页数:28 大小:237KB
返回 下载 相关 举报
面向对象程序设计异常处理_第1页
第1页 / 共28页
面向对象程序设计异常处理_第2页
第2页 / 共28页
面向对象程序设计异常处理_第3页
第3页 / 共28页
面向对象程序设计异常处理_第4页
第4页 / 共28页
面向对象程序设计异常处理_第5页
第5页 / 共28页
点击查看更多>>
资源描述

《面向对象程序设计异常处理》由会员分享,可在线阅读,更多相关《面向对象程序设计异常处理(28页珍藏版)》请在金锄头文库上搜索。

1、面向对象程序设计八、异常处理内容提要内容提要n程序中潜在的异常问题n异常处理机制nC+中的异常处理n标准异常n使用异常处理应注意的几个问题提出问题提出问题 【例】求解一元二次方程ax2+bx+c=0 #include #include using namespace std; int main() float a,b,c; double x1,x2; coutabc; x1=(-b+sqrt(b*b-4*a*c)/2*a; x2=(-b-sqrt(b*b-4*a*c)/2*a; coutabc; try if(0 = a) throw a;/ b并无意义,代表float型即可 if(b*b-4

2、*a*c)abc; try cout using namespace std; void Fun( void ); class intArray public: intArray(int n) p = new int n ; cout #include using namespace std; class Excp /声明异常基类 public: static void print( string msg )/ 打印错误信息 coutn; Stack myStack(n); cout n; for ( i = 1; i n; for ( i = 1; i /标准异常的头文件 #include

3、#include using namespace std; class Array public: Array(const char *source, int sz) size = sz;ca = new charsize;for ( int i = 0; i = size ) string es =“数组越界!“; throw out_of_range( es ); /将es字符串传入对象return cai; private: int size; char *ca; ;int main() try char ca = A,B,C,D,E,F;Array CA( ca, sizeof(ca)

4、/sizeof(char) );CA5=X;/正常访问字符数组类CA6=G;/越界访问数组类将引发异常return 0; catch ( const out_of_range /获取异常信息return -1; 使用异常处理应注意的几个问题使用异常处理应注意的几个问题n在C+的程序设计中,异常处理应主要用于独立 开发的程序模块之间的异常通信。 n异常处理机制的使用会影响程序的执行效率。因此, 即使C+支持异常处理,在程序设计时也应该具体情 况具体分析。在设计一个模块时,如果该模块发生异 常时遇到下列情况,则考虑使用异常处理机制: n该模块本身不知道如何处理发生的异常,而将由其上级模 块负责对异

5、常的判断,并选择采取适当的行动。 n该模块必须自己处理异常理问题,或者如果它不能完全处 理则必须把异常情况“告诉”给使用该模块的上级模块,由其上级模块进行处理。使用异常处理应注意的几个问题使用异常处理应注意的几个问题n使用标准异常和异常接口声明n在创建自定义的异常类型前,应检查标准C+异常库。如果标 准异常正合所需,就拿来为我所用,这样会使我们的程序更 易于理解和使用。如果标准异常不能满足要求,则尽量从某 个标准异常中派生新增加的异常类型。n异常接口声明像一个函数原型:它完整列举了函数可能抛出 的所有异常。异常接口声明是函数及其调用者间契约的一部 分。换句话说,函数承诺不抛出其它任何不在异常接口声明 中的异常。在函数设计时声明异常接口,即便于用户了解函 数的异常类型,又能给编译器提供该函数的抛出异常的种类 ,让编译器“监督”函数是否按照其声明抛出异常。使用异常处理应注意的几个问题使用异常处理应注意的几个问题n不要将异常处理当成程序控制结构来使用n异常的抛出和捕获有点像函数的调用与返回,而try-catch结构看上去像switch语句。如果在程序中把异常处理当成程序控制流程的手段,可能会带来程序的混乱和执行的低效率。n尽量避免在构造和析构函数中抛出异常本章小结本章小结n程序中潜在的异常问题 n异常处理机制 nC+中的异常处理 n标准异常 n使用异常处理应注意的几个问题

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 医学/心理学 > 基础医学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号