finally语句块在下面哪些情况下执行?( )
A: try语句块中运行正常,无异常发生
B: try语句块有异常发生,catch子句已捕获
C: try语句块有异常发生,catch子句未捕获
D: 其余都不对
A: try语句块中运行正常,无异常发生
B: try语句块有异常发生,catch子句已捕获
C: try语句块有异常发生,catch子句未捕获
D: 其余都不对
举一反三
- 如果try语句块中抛出异常并被catch子句捕获,则在抛出异常的地方终止try代码块的执行,转而执行相匹配的catch子句,最后执行finally语句块。
- try语句块中存放可能发生异常的语句,一旦发生异常,通过catch语句块进行捕获。
- 有关下列异常处理机制叙述正确的是()。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子句,执行该子句中的语句块。
- 无论是否发生异常,都需要执行( ) A: try语句块 B: catch语句块 C: finally语句块 D: A、 return语句
- 异常捕获可以使用try…catch…finally语句,其中finally语句块中的内容无论程序是否发生异常都要被执行。