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

admin2010-02-22  29

问题 下列关于如下这段代码的说法中正确的是(    )。    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、程序输出“你好吗”,然后有RunfimeException异常发生,然后输出“结束”
D、程序输出“你好吗”,然后输出“结束”,然后有RuntimeException异常发生

答案8

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

最新回复(0)