首页 > 试题广场 >

以下代码执行后输出结果为( )

[单选题]
以下代码执行后输出结果为( )
public class ExceptionTest
{
    public void method()
    {
        try
        {
            System.out.println("进入到try块");
        }
        catch (Exception e)
        {
             System.out.println("异常发生了!");
        }
        finally
        {
            System.out.println("进入到finally块");
        }
            System.out.println("后续代码");
 }
     public static void main(String[] args)
     {
         ExceptionTest test = new ExceptionTest();
         test.method();
     }
 }
  • 进入到try块  异常发生了!  进入到finally块  后续代码
  • 进入到try块  进入到finally块  后续代码
  • 进入到try块  后续代码
  • 异常发生了!  后续代码
try { //执行的代码,其中可能有异常。一旦发现异常,则立即跳到catch执行。否则不会执行catch里面的内容 }catch { //除非try里面执行代码发生了异常,否则这里的代码不会执行 }finally { //不管什么情况都会执行,包括try catch 里面用了return ,可以理解为只要执行了try或者catch,就一定会执行 finally }
发表于 2017-05-16 15:51:50 回复(8)
若try-catch语言中有return,则保存return的值,执行finally,若finally中无return,则返回之前保存的return值,若finally中有return,则用finally中的return覆盖try-catch中的return
发表于 2017-08-29 15:15:18 回复(1)
注意分析catch和finally里边有return的情况,若同时存在return语句,则返回finally中的return哦
发表于 2017-06-09 11:42:38 回复(5)
选B
1、在try-catch-finally块中没有return语句,所以会执行打印“后续代码”,若有return,则不执行;
2、try块中正常进入,正常执行,未发生异常,所以不会进入catch块中
3、finally块在任何时候都要执行,因此会执行打印“进入到finally块”
4、最后执行“后续代码”打印
发表于 2018-03-12 14:39:40 回复(2)
总结一下,不管你try中有没有return,finally中的代码一定会执行。当try中有return,但是finally中没有,则finally中的代码在try中return执行前执行;当两者中均有return,那么先执行finally中return之前的代码,然后执行try中return,最后执行finally中的return!!!
发表于 2019-04-23 20:49:54 回复(0)
必须得改变一点,不能不想学习这一科目,就走形式看书,还是得通过做题,还有实践行动,说根本就是懒不想面对。 必须做题,看书多少遍也是白搭。荒废时间走走形式。欺骗自己,说了多少遍根上不改变怎么都是白搭
发表于 2018-10-06 19:51:02 回复(1)
try里面只是简单输出语句,无异常,所以catch不执行,直接进入finally,
发表于 2017-10-09 18:40:49 回复(0)
try-catch-finally情况分类:
1.若三个代码块都没有return:执行正常,try-->finally ;执行异常 try->catch->finally
2.若try块包含return,finally不包含,执行正常,try->finally,返回值为try设置;若try包含return ,finally也包含return,执行正常 try->finally,返回值被finally块中覆盖;若执行异常,try->catch->finally 返回值仍然被finally覆盖
发表于 2018-09-11 14:24:52 回复(0)
总结一下,不管你try中有没有return,finally中的代码一定会执行。当try中有return,但是finally中没有,则finally中的代码在try中return执行前执行;当两者中均有return,那么先执行finally中return之前的代码,然后执行try中return,最后执行finally中的return!!!
发表于 2021-09-28 16:10:06 回复(0)
try中捕获异常才进入catch,否则不进入catch,不管有没有捕获异常,都要进入finally。如果在进入finally之前遇见return,则不会进入finally。
发表于 2017-10-04 15:05:10 回复(3)
try中未发生异常,所以不会执行catch语句块
发表于 2021-08-29 21:21:32 回复(0)
无异常时,finally块的运行,不会影响程序下面的运行;
但是finally块中如果有return语句,会返回值,程序结束。

!--- 如果try块有return语句,首先保存return语句计算的临时值 ---!
    执行finally块,如果finally块有return语句,会覆盖返回
                             如果没有return语句,返回try块的return临时值
编辑于 2020-04-24 11:33:45 回复(0)
这题重点不是在于 finally中 return会覆盖前方return值吧,而是假如finally中没有 return,则会继续执行方法下方代码
发表于 2018-03-04 09:50:58 回复(0)
先执行父类静态块,再执行子类静态块,再执行父类方法,最后执行子类方法
发表于 2021-11-03 20:13:05 回复(1)
try捕捉到异常则执行catch里面语句,try没有捕捉到异常,catch里面不执行,finally,无论如何都执行
发表于 2017-11-02 10:39:20 回复(0)
调用method方法时,首先执行try,输出“进入到try块 ”,通过try后,进入finally,输出“ 进入到finally块 ”,结束try,catch块,输出方法结束语句 "后续代码"。答案B.
发表于 2017-05-16 20:01:34 回复(0)
try里面是输出语句,没有异常,所以catch里面的语句的执行 finally里面的语句一定执行
发表于 2023-03-20 17:12:45 回复(0)
try-catch-finally情况分类: 1.若三个代码块都没有return:执行正常,try-->finally ;执行异常 try->catch->finally 2.若try块包含return,finally不包含,执行正常,try->finally,返回值为try设置;若try包含return ,finally也包含return,执行正常 try->finally,返回值被finally块中覆盖;若执行异常,try->catch->finally 返回值仍然被finally覆盖 mark一下
发表于 2022-10-05 16:41:05 回复(0)
现在出的问题这么不严谨,这明明就是选b
发表于 2022-05-17 15:51:12 回复(0)
在有finally的语句中,只会执行try和catch中的一个
发表于 2021-06-29 21:07:36 回复(0)