问题描述
两个方法有调用关系,都在catch中抛出异常,那么这个异常会抛出几次?“123”,“456”都会在日志中打印吗?
public class TestMain { public static void main(String[] args) { try { int value = func1(3); System.out.println(value); } catch (Exception e) { throw new RuntimeException("456"); } } public static int func1(int index) { try { int[] arr = new int[]{1, 2, 3}; int i = arr[index]; System.out.println(i); return i; } catch (Exception e) { throw new RuntimeException("123"); } } }
结论
只会打印一次,即“456”的异常。