Java출력 결과보통 · 20점#예외#반복문#배열

40. return과 finally의 실행 순서

다음 Java 프로그램의 실행 결과를 쓰시오.

1public class Main {
2 static int test(int n) {
3 int r = 0;
4 try {
5 r = 10 / n;
6 r += 1;
7 return r;
8 } catch (ArithmeticException e) {
9 r = -1;
10 return r;
11 } finally {
12 r += 100;
13 System.out.println("finally r=" + r);
14 }
15 }
16
17 public static void main(String[] args) {
18 int[] arr = {4, 0};
19 for (int i = 0; i <= 2; i++) {
20 try {
21 System.out.println(test(arr[i]));
22 } catch (ArrayIndexOutOfBoundsException e) {
23 System.out.println("범위 밖");
24 }
25 }
26 }
27}

해설을 먼저 보면 이후 정답 시 점수가 50%만 반영됩니다.