如果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: 其余都不对
- 如果try语句块没有抛出异常,则执行完try语句代码后直接执行finally语句块。
- try语句块中抛出的异常对象与catch子句的异常参数是同种类型,该catch子句才能捕获这个异常。
- 无论try{}块中的代码是否抛出异常,finally子句都会执行。()