C++ 异常

本文介绍了C++中如何使用异常机制,特别是std::invalid_argument类型,来捕获和处理除数为零的情况,以增强程序的健壮性。通过try-catch结构,代码能优雅地应对错误,提高代码质量。
摘要由CSDN通过智能技术生成

C++ 提供了异常机制来保证程序的运行的安全。当某段代码检测到异常时,就会抛出一个异常,而另一段代码就会捕获到该异常,并进行相应的操作。 C++ 14 提供了内建类型 std::invalid_argument 来辅助程序员捕获异常。

#include <iostream>
#include <stdexcept>

double div(double numerator, double denominator)
{
	if(denominator==0){
		throw std::invalid_argument("Denominator is 0.");
	}

	return (numerator/denominator);

}

int main(void)
{
	try{
		std::cout<<div(2.5, 0.5)<<std::endl;
		std::cout<<div(2.3, 0.0f)<<std::endl;
		std::cout<<div(4.5, 0.5)<<std::endl;
	
	}catch(const std::invalid_argument & exception){
		std::cout<<"Exception: "<<exception.what()<<std::endl;
	}

	return 0;
}

5
Exception: Denominator is 0.

结果显示:第一次正则执行,第二次检测到异常,直接抛出异常执行 catch 里面的程序,跳过了第三调用 (不管程序是否正确)。这样的检测机制方便程序员写出鲁棒性的代码

  • 8
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值