본문 바로가기
✨ Java/예외 처리(Exception)

자바(JAVA) - Exception 다양한 예외 종류

by 환풍 2023. 7. 18.
728x90

 

ArrayIndexOutOfBoundsException

초기에 정해진 배열의 크기보다 더 많은 양의 데이터를 넣고자 할 때 주로 발생하는 에러이다.

m의 배열은 5까지인데, 마지막 i는 6번째의 배열에 값을 넣는것이므로, 오류가 나는 것이다. 

초기에 정해진 배열의 크기보다 더 많은 양의 데이터를 넣을때 발생하는 에러가 ArrayIndexOutOfBounds에러이다.

*finally는 에러가 발생하든 안하든 반드시 실행시킨다.

 

ArithmeticException

0으로 나누는 등, 잘못된 산술 연산을 시도할 때 발생하는 에러이다. (0으로 나누는경우 정수 0으로 나누는 경우 등)

왼쪽 사진에 보면 data가 0인데, 0으로 나누려고해서 발생하는 오류이고,

오른쪽 사진 또한 (int)Math.random()*100는 int와 Math.random() 먼저 변환이 이루어지므로 0 * 100이 된다.

그 상태에서 나누려고 하기 때문에 발생하는 오류이다. 

 

NumberFormatException

문자열을 숫자로 변환하는 과정에서 발생하는 에러이다. 

자바에서는 문자열을 정수, 실수 또는 기타 숫자 형식으로 변환할 수 있는 메서드들이 제공된다.

이러한 메서드들은 주로 parseInt(), parseLong(), parseFloat(), parseDouble()등의 이름을 갖고있다.

예를들어, 123은 유효한 정수이므로 정수로 변환 가능하지만, "abc"는 숫자가 아니기 때문에 NumberFormatException이 발생한다.

 

NullPointerException

주소가 없는 곳을 찾아갈 때 발생하는 예외이다.

이 예외는 null 값에 .(dot) 을 찍었다고 생각하면 문제를 쉽게 알 수 있다.

 

ClassCastException

특정 클래스의 객체를 호환되지 않는 다른 클래스의 객체로 변환하려고 할 때 발생하는 런타임 에러이다.

반응형

댓글