1.abort()函数
在程序异常时用于终止程序;
包含于头文件<cstdlib>
实例:
//算式分母为a+b,如果a=-b,则程序终止并发出警报;
2.异常机制
异常处理的组成部分
(1)抛出异常:程序异常跳出当前部分,throw+抛出内容;
(2)捕获异常:处理异常的程序捕获异常,catch(捕获内容);
(3)使用try块:标识可能抛出异常的程序块,try{};
//******如图,对之前程序作出改进
//
在hmean(x,y)处,如果输入x=-y,则程序正常运行,如果输入x=-y,则程序跳出try块,执行catch语句(报错)
3.将对象用作异常类型
throw可以抛出仍和类型的值;
catch捕获抛出值的类型,用不同的类型标识不同的错误;
如图,定义一个类bad_hmean,用于接收函数hmean中的抛出,并定义成员函数mesg()用于显示错误原因:
//将对象用作异常类型,明确异常原因,提高了程序的可读性;
另外,当程序中用到多个抛异常的函数,可以通过抛出的类型确定不同的处理;
4.exception类
c++标准类;
用作其他类型的基类;
有一个返回字符串的虚函数what,返回出错原因;
捕获时,可以用基类对象的引用,从而不需要多个catch;
实例: