C++异常处理(try catch throw)

文章讲述了C++中的异常处理机制,包括throw、try和catch关键字的用法,以及错误处理的基本原理。通过实例说明了异常逐级传递直至最高级处理,纠正了一个关于catch捕获异常后不能再次抛出的误解。
摘要由CSDN通过智能技术生成

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

牛客做到一个题目,是c++异常处理的,做的时候感觉很陌生,这边学习一下。


一、题目

下列关于异常处理的描述中,理解不正确的是:答案C

A、C++语言的异常处理机制通过3个保留字throw、try和catch实现。

B、任何需要检测的语句必须在try语句块中执行,并由throw语句抛出异常。

C、throw语句抛出异常后,catch利用数据类型匹配进行异常捕获。

D、一旦catch捕获异常,不能将异常用throw语句再次抛出。

解释:

在执行程序发生异常时,可以不在本函数中处理,而是通过throw抛出一个错误信息,把它传递给上一级的函数来解决,上一级解决不了,再传 给其上一级,由其上一级处理。如此逐级上传,直到最高一级还无法处理的话,运行系统会自动调用系统函数terminate,由它调用abort终止 程序。因此当catch补货异常时,若本级函数不能解决异常,会将异常抛出给上一级函数来解决,除非已经到达最高一级。因此题目中D选项陈 述错误。

下面查一下关于try...catch...throw用法 

二、用法

这篇帖子说的比较好懂:

C++异常处理(try catch throw)完全攻略

下面是一些验证 


总结

c++的异常处理感觉很少见到,但是还是学习一下吧。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值