首页 > 试题广场 >

下列关于异常处理的描述中,理解不正确的是?

[单选题]
下列关于异常处理的描述中,理解不正确的是:
  • C++语言的异常处理机制通过3个保留字throw、try和catch实现。
  • 任何需要检测的语句必须在try语句块中执行,并由throw语句抛出异常。
  • throw语句抛出异常后,catch利用数据类型匹配进行异常捕获。
  • 一旦catch捕获异常,不能将异常用throw语句再次抛出。
D
catch异常后,同样可以用throw语句在此抛出
发表于 2015-01-18 16:58:29 回复(0)
更多回答
推荐
【正确答案】D
【解析】D选项错误,一旦 catch 捕获异常,可以将异常用 throw 语句再次抛出。
 
异常知识点讲解】
更多C++基础专业知识讲解,点击链接即可查看
https://www.nowcoder.com/link/zxyl-cpp27
编辑于 2021-11-17 15:31:17 回复(0)
答案:D
A,正确,throw是抛出异常关键字,try是尝试执行可能有异常代码的关键字,catch是捕获异常的关键字
B,正确,可能抛出异常的代码块都应该放在try代码块中
C,正确,catch捕获相应的异常,可以有多级catch代码块来捕获不同级别的异常
D,被捕获的异常可以再次抛出
编辑于 2021-11-17 15:31:17 回复(0)
在执行程序发生异常时,可以不在本函数中处理,而是通过throw抛出一个错误信息,把它传递给上一级的函数来解决,上一级解决不了,再传
给其上一级,由其上一级处理。如此逐级上传,直到最高一级还无法处理的话,运行系统会自动调用系统函数terminate,由它调用abort终止
程序。因此当catch补货异常时,若本级函数不能解决异常,会将异常抛出给上一级函数来解决,除非已经到达最高一级。因此题目中D选项陈
述错误。   个人观点,请各位指正!

发表于 2017-07-27 11:15:57 回复(0)
catch捕获到了异常但是在该层次中异常不应该被处理,则可以将这个异常继续抛出,如MVC中控制层将异常交给视图层去做相应处理以展示给用户,若直接处理用户则看不到出错信息
发表于 2016-09-15 22:27:27 回复(0)
个人觉得D正确,用catch捕获异常后,如果不处理,继续throw这个异常也是可行的,
至于C,catch应该匹配的是异常类型,不是数据类型
发表于 2019-09-03 21:56:03 回复(0)
摘自:牛客-007
A:throw是抛出异常的关键字,try是尝试可能有异常代码的关键字,catch是捕获异常的关键字
B:可能抛出异常的代码都应该放在try中
C:catch捕获相应的异常,可以由多级catch代码块来捕获不同级别的异常
D:被捕获的异常可以再次抛出
发表于 2019-08-09 10:04:48 回复(0)
呜呜呜呜呜呜
发表于 2018-10-09 23:18:27 回复(0)
异常处理 
C++语言的异常处理机制通过3个保留字throw、try和catch实现
任何需要检测的语句必须在try语句块中执行,并由throw语句抛出异常。
throw语句抛出异常后,catch利用数据类型匹配进行异常捕获。

发表于 2017-04-11 09:47:51 回复(0)
catch异常后,同样可以用throw语句在此抛出,如果没有解决,会直接向上层继续抛,直至main函数,然后异常停止!
发表于 2016-03-21 21:28:36 回复(0)
d
发表于 2014-12-15 12:32:01 回复(0)