如果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子句都会执行。()
内容
- 0
位于finally语句块中的代码 A: 必须跟在try语句后面并且位于catch子句之前 B: 总是执行 C: 异常未被捕获时实行 D: 异常被捕获时执行
- 1
关于异常,正确的说法是( ) 。 A: 不能只有try块,而没有 catch或finally块。 B: 没有抛出异常的代码块不能出现在try代码块中。 C: 如果一个程序有多个catch语句,程序会对每个匹配的catch语句都执行一次。 D: 如果一个程序有多个catch语句,程序找到匹配的第一个catch语句后,接着执行后面的catch语句。
- 2
下列关于try-catch-finally 结构的描述中,错误的是( ) A: 在try语句块中是可能抛出异常的代码,如果该块中的一条语句抛出了异常,则其后续语句不再继续执行,而是转到catch进行异常类型匹配 B: 一个try块可以对应多个catch块,用于对多个异常类进行捕获 C: 一个try块只能对应一个catch块,但可对应多个finally块 D: finally语句块总会执行
- 3
如果在try块中没有抛出异常,则跳过catch块处理,执行catch块后的第1 条语句
- 4
关于finally块,以下描述正确的是()。 A: 当try块抛出异常时,才会执行finally块。 B: 当catch块捕捉到异常时,才会执行finally块。 C: 无论try是否抛出异常,都会执行finally块。 D: finally块必须要有。