Java · 예외·연습 문제

예외 - 배열 범위

문제 설명PROBLEM

예외 - 배열 범위

문제

배열의 지정 인덱스 값을 읽되 범위를 벗어나면 예외를 잡아 OUT_OF_RANGE를 반환하세요.

구현할 함수

static String readAt(int[] values, int index)

입력

첫 줄에 양의 길이 n, 둘째 줄에 n개 정수, 셋째 줄에 임의의 정수 index가 주어집니다.

입력 파싱과 결과 출력은 숨겨진 I/O 어댑터가 자동으로 처리합니다. 에디터에는 요구된 함수 또는 메서드 구현만 작성하세요.

출력

유효한 인덱스면 원소 값, 아니면 OUT_OF_RANGE를 출력합니다.

구현 조건

  • try 블록에서 values[index]에 직접 접근하세요.
  • ArrayIndexOutOfBoundsException을 catch하세요.
  • 사전 범위 if 검사로 예외 처리를 우회하지 마세요.

공개 테스트

아래 테스트를 각각 독립된 프로세스로 실행합니다. 입력과 기대 출력은 실제 채점 순서와 같습니다.

#이름InputExpected output
1유효한 인덱스3\n1 2 3\n12
2오른쪽 범위 초과3\n1 2 3\n5OUT_OF_RANGE
3음수 인덱스2\n8 9\n-1OUT_OF_RANGE
개념 노트와 실수 포인트

예외 처리

  • 흐름: try 에서 예외 발생 → 이후 코드 건너뛰고 맞는 catch 로. finally 는 (return 이 있어도) 항상 실행.
  • 예: 10/0ArithmeticException, 잘못된 인덱스 → ArrayIndexOutOfBoundsException.
  • ⚠️ 출력 순서 문제 단골 — 예외 발생 지점 이후 try 코드는 실행 안 됨.