谁能帮忙解释一下为什么输出结果是BC

  1. 代码如下,运行的结果是 class X { public static void main(String[] args) { try { badMethod(); System.out.print("A"); } catch (Exception ex) { System.out.print("C"); } } public static void badMethod() throws Exception{ System.out.print("B"); throw new Exception(); } } A. 打印 ABC B. 打印 C C. 打印 BC D. 打印 BCA

bc呗
main方法先执行,然后执行里面的badMethod()方法,输出B,之后向上抛出异常,main方法接收异常处理,输出C。结果就是BC

执行main方法时,执行badMethod()方法打印"B",此时抛出异常立刻被捕获Try到就打印“C”