还剩1页未读,继续阅读
文本内容:
异样及其处理(共享)第七章异样及其处理程序()exception andits handling
7.1在运行中可能出错,例如在除法运算中用作除数、对负数求开方根、0在计算机监控系统中所采集的数据越限,等等当程序出错时,一般要求用户进行处理,如重新输入数值或给出新的限制量等程序首先应检测到出错,然后才能提示用户进行处理或由程序自动进行处理传统的错误处理方式唯有依靠函数返回提示错误的局部标记数据或者全局标记数据来提示出错(全局数据的平安性差,极易受到破坏)这类做法的困难是程序只能在函数返回主程序处检查标记数据错误处理的一种新的方式是运用异样异样处理是由程序设计语言供应的运行时刻错误处理的一种方式一旦程序出现错误,随即引发和抛出异样,程序能在一处或多处便利的地方自动地捕获异样并进行必要的处理[例求负数的开方根时传统的错误处理方式]1//sqrt_negative_l.cpp//error occurswhen thesquare rootofa negativenumber iscalculated//system subroutineused^includeIt;iostream.hgt;#include It;math,hgt;//ptototype:double sqrtdouble;#include It;stdlib.hgt;//ptototype:void exitint;double sqrootdouble number{ifnumberIt;0{cout It;It;quot;Error!negativeinput number:quot;It;It;number It;It;\n;cout It;It;quot;Program terminated!quot;It;It;\n;exit-1;returnsqrt number;//system subroutine}void main{coutlt;It;quot;Sqrt of
1.5129isquot;It;It;sqroot
1.5129It;It;endl;coutlt;It;quot;Sqrt of-4isquot;It;It;sqroot-4It;It;endl;coutlt;It;quot;Sqrt of16isquot;It;It;sqroot16It;It;endl;}/*Results:Sqrt of
1.5129is
1.程序运行错误及其处理23Error!negative inputnumber:以上程序中,当打算求取负数的平方根时,-4Program terminated!*/就出错,程序非正常结束为使程序非正常结束,须要调用系统子程序其函数原型exit,在头文件内stdlib.h其中主函数中其次句运行过程中,因调用函数而导sqroot-4致程序意外中断但在之前的字符串却没有sqroot-4quot;Sqrt of-4is quot;显示这类现象将在以后众多程序中出现它是由于输出语句的整体性所确定的请见第八章非缓冲输出流中的具体说明
8.
1.
2.2[例第五章除法运算符重载中的[例该程序中]]
25.
3.
1.31的子程序double division::operator/double denominator{if denominator==0{coutlt;It;quot;attempted todivideby zeroquot;It;It;endl;...。