下列关于如下这段代码的说法中正确的是( )。 public class test { public static void throwit() { throw new RuntimeException(

admin2010-07-28  76

问题 下列关于如下这段代码的说法中正确的是(    )。    public class test    {      public static void throwit()      {         throw new RuntimeException();      }      public static void main(String args[])      {         try{             System.out.println(“你好吗”);             throwit();             System.out.println(“出错!”);         }         finally{             System.out.println(“结束”);         }      }    }

选项 A、以上程序段不会编译
B、程序输出“你好吗”,然后有RuntimeException异常发生,输出“出错!”,输出“结束”
C、程序输出“你好吗”,然后有RuntimeException异常发生,然后输出“结束”
D、程序输出“你好吗”,然后输出“结束”,然后有RunthneException异常发生

答案8

解析 此程序没有语法错误,可以通过编译,所以选项A错误。程序首先从执行try块开始,输出“你好”,然后执行throwit()方法。在throwit()方法中导致Runtime Exception异常的发生,因此,不会执行by块中throwit()方法后的语句。由于by块的后面存在finally块,在Java中,一旦定义了finally块,就保证一定会执行它,而不管是否发生了异常,所以执行finally块中的语句,从而输出“结束”。由于没有catch块来捕获发生的异常,程序的执行被中止。
转载请注明原文地址:https://jikaoti.com/ti/sKH0FFFM
0

最新回复(0)