try语句块中抛出的异常对象与catch子句的异常参数是同种类型,该catch子句才能捕获这个异常。
错
举一反三
- 如果try语句块中抛出异常并被catch子句捕获,则在抛出异常的地方终止try代码块的执行,转而执行相匹配的catch子句,最后执行finally语句块。
- 有关下列异常处理机制叙述正确的是()。try{可能产生异常的语句块;}catch(exceptiontype1e){处理异常e的语句块;}catch(exceptiontype2e){处理异常e的语句块;}……finally{最终处理语句块;} A: try子句可能有多个,catch子句可能有多个,finally子句必须有。 B: 多个catch参数中的异常类可以有父子关系,但父类异常的catch子句应该在子类异常的catch子句前面。 C: 如果try子句没有抛出任何异常,则跳过catch子句,转移到finally子句继续执行。 D: 当try子句监视的语句块抛出异常时,运行时系统会根据catch子句的顺序,从第一个开始,逐个查找能够捕获该异常的catch子句并执行catch子句内的语句块以完成对异常的处理,然后继续执行后面的catch子句,最后转移到finally子句,执行该子句中的语句块。
- finally语句块在下面哪些情况下执行?( ) A: try语句块中运行正常,无异常发生 B: try语句块有异常发生,catch子句已捕获 C: try语句块有异常发生,catch子句未捕获 D: 其余都不对
- C++语言中负责抛出异常的语句是?( )? if语句|throw语句|try子句|catch子句
- 异常处理结构中可有多个catch子句,应将捕获父类型异常的catch放在捕获子类型异常的catch之前
内容
- 0
在异常处理中总是将可能产生异常的语句放在try块中,用catch子句去处理异常,而且一个try块之后只能对应一个catch语句
- 1
try块中如果有多种类型异常对象抛出,那么需要使用多个catch捕获。
- 2
catch子句都带一个参数,该参数是某个异常的类及其变量名,catch用该参数去与抛出异常对象的类进行匹配。
- 3
catch(...)一般放在其他catch子句的后面,该子句()。 A: 抛掷异常 B: 捕获所有类型的异常 C: 检测并处理异常 D: 有语法错误
- 4
关于catch语句的说法,错误的是 A: catch块必须紧跟在try语句块之后 B: catch语句块之间不能有任何其他代码 C: 由于一个try语句可能会抛出一个或多个异常,所以一个try可以有多个catch语句,每个catch块用来识别和处理一种特定类型的异常对象 D: 如果try块产生的异常对象被第1个catch块所捕获,则程序的流程将直接跳转到这个catch块中,处理完毕后接着被其余的类型符合的异常捕获... ...