[JAVA]출력물이 이해가 안갑니다.
봄시내
안녕하세요.
자바에서 예외부분을 공부하고 있습니다.
그런데 책의 소스대로 쳐서 출력문을 보고 있는데,
이해가 안가는 부분이 있어서 질문 드립니다.
이클립스를 이용해서 작성했습니다.
실행 시키면 다음과 같은 내용이 나오는데,
main()첫번째 try 블록 진입
divide()의 첫번재 try 블록 진입
divide()의 첫번째 try 븕록의 끝
divide()의 finally 블록
결과 = 2
divide()의 첫번재 try 블록 진입
divide()의 ArithmeticException처리
divide()의 finally 블록
divide()의 try 블록이 끝난 후 실행되는 코드
결과 = 2
divide()의 첫번재 try 블록 진입
divide()의 IndexOutOfBoundException 처리
divide()의 finally 블록
divide()의 try 블록이 끝난 후 실행되는 코드
main()의 indexOutOfBoundException 처리
main()의 첫번째 try 블록의 외부
종료하려면 enter를 누르시오
main()의 두번째 try 블록
main()의 두번째 try블록에 대한 fianlly 블록
3번째 부분에서 divide()의 IndexOutOfBoundException 처리 이 문이 왜 나오는지 이해가 가지 않습니다.
제가 이해한 바로는 arry[2] = array[0]/array[1] 해서
array[2] = 10/1 이 되는데... 그럼 음수도 아닌데 왜 IndexOutOfBoundException이 나올까요??
좀 알려주세요..
-
터1프한렩
엌 그렇네요!! 고맙습니다.
-
하늘빛눈망울
마지막 부분에 index = 1을 넣어서
array[index + 2] = array[index]/array[index + 1];
이부분에서 array[3] 으로 배열을 초과하게 되네요.