c++异常处理

本文介绍了C++中的异常处理机制,包括abort()函数的使用,异常的抛出和捕获,以及如何利用try-catch进行错误处理。此外,讨论了将对象作为异常类型以提高程序可读性和错误定位的策略,并提到了exception类及其what()函数在异常信息传递中的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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;

实例:

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值