C++ 异常处理

本文围绕 C++ 异常处理展开,介绍了 throw 表达式,用于抛出异常并可添加异常信息;try 语句用于捕捉异常,可包含多个 catch 语句,异常匹配由内而外,无匹配则由标准库函数处理;还提及了标准异常的初始化情况。

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

C++ 异常处理


1、throw 表达式

用于抛出异常

  • throw 后面是异常类型
  • 可以添加异常信息
// 抛出一个异常
if(a != b)
    throw runtime_error("not equal")

2、try 语句

用于捕捉异常

try
{
    program-statament;
}
catch(exception-declaration)
{
    handler-statements;
}
  • program-statament:可能存在异常的语句
  • exception-declaration:异常声名,如果 catch 到此类异常进入与之对应的 handler-statements
  • handler-statements:异常处理程序
  • 可以有多个catch

  • catch 语句
catch(runtime_error err)
{
    cout << err.what() << endl;
}
  • runtime_error err:获得此类异常的对象
  • err.what():返回异常信息。每个异常类都有 what() 这个成员函数

异常匹配

  • 由内而外匹配
  • 如果没有匹配的。则由标准库函数 terminate 处理

3、标准异常

这里写图片描述
这里写图片描述

  • exception、bad_alloc、bad_cast 只能采用默认初始化。
  • stdexcept 初始化时必须提供初始值(字符串),用于关于异常的信息。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值