-
[JAVA] 예외처리 Try Catch문 간단한 사용방법Just my dev story. 2020. 2. 21. 00:27반응형
코딩을 하다 보면 여러 가지 예외 상황이 오기 마련인데요!
예외로는 여러가지 예외 현상이 있습니다.
-
ArithmeticException => 정수를 0으로 나눌 경우에 발생합니다.
-
ArrayIndexOutOfBoundsException => 배열의 범위가 벗어난 index에 접근할 시에 발생합니다.
-
NullPointException => 존재하지 않는 레퍼런스를 참조하였을 때 발생합니다.
-
illegalArgumentException => 잘못된 인자를 전달 하였을때 발생합니다.
-
ClassCastException => 변환할 수 없는 타입으를 객체를 반환 시 발생합니다.
-
IOExcption => 입출력 동작 실패 또는 인터럽트 시 발생합니다.
-
OutOfMemoryException => 메모리가 부족한 경우에 발생합니다.
-
NumberFormatException => 문자열이 나타내는 숫자와 일치하지 않는 타입의 숫자로 변환 시 발생합니다.
주관적인 생각입니다만... 제가 코딩하며 느꼈을 때 가장 많이 만나본 예외인 경우는
NullPointException 이 친구를 가장 많이 만났습니다... ㅠㅠ
다음으로는
NumberFormatExecption , ArrayIndexOutOfBoundsException , NumberFormatException 등 비슷하게 많이 났습니다..
- 자주 봤던 예외들
1. NullPoinException
NullPoinException은 객체참조가 없는 상태 , 객체가 없는 상태에서 객체를 사용하려고 하니 예외가 터지는 것입니다.
항상 신경쓰라고 했던 null 처리가 정말 기본적이면서도 중요한 일이다 기초적인 것이다 라고 항상 강조해주셨는데 개발을 해보면서 느낀 점이 정말 중요한 거 같습니다.!
2. ArrayIndexOutOfBoundsException
전에 길이가 5인 배열을 미리 선언을 해두었습니다 int [] arr = new int[5] 이런 식으로 말이죠!
그럼 이 친구는 0번부터 ~ 4번까지의 index를 사용할 수 있습니다 arr [0] ~ arr [4] 길이는 5지만 배열은 0번부터 방을 가지기 때문에 이 이상이나 이하의 index를 참조한다면 참조하는 순간 예외가 바로 발생하게 됩니다.
이 친구는 조금만 신경 쓰신다면 많이 날 예외는 아닙니다.!
3.NumberFormatException
일을 하다 보면 문자열을 숫자 타입으로 변환해야 하는 경우가 자주 일어납니다.
보통 , Integer.parseInt(String str ) 이 메서드를 사용하여 치환을 시키죠
이 경우에 숫자 타입으로 변경할 수 없는 문자를 변환하려고 하면 발생하는 예외입니다.!
ex ) 정말 간단한 예제
try{ System.out.println(1 / 0); //error code - > devided by zero 0으로 나눌수 없어 예외 발생 }catch (Exception e){ e.printStackTrace(); }finally{ System.out.println("try절이 예외가 없어 실행이되든 , catch 절로 빠지든 무조건 실행"); // 이 윗 줄은 무조건 실행됨 }
try catch 문을 많이 쓰는 구간은 DB에서 데이터를 내려주고 올려줄 때 많이 사용됩니다.
DB를 거쳐 왔을 때 변수가 많이 생기기 때문에 try catch문은 필수입니다.
그리고 finally 절에는 DB와 연결을 끊어주는 코드를 주로 많이 넣어 씁니다.
특정 예외가 생기어 DB와의 연결이 끊어지지 않았을 시에 여러 가지 문제가 발생할 수 있기 때문입니다.
지나가시는 분들은 도움이 되셨으면 하여 간단하게 올려두었습니다.!
반응형'Just my dev story.' 카테고리의 다른 글
[jquery] 속성 여러개 추가하기 .attr , css (0) 2020.02.21 [javascript] GET 방식으로 파라미터 전달시 특수문자 전달 (0) 2020.02.21 [jquery] SELECTBOX 셀렉트박스 변경시 옵션값 가져오기 (0) 2020.02.21 [WEB(웹)] 503 에러 (0) 2020.02.21 [JAVA] 인증번호 5자리 , 랜덤 생성 (0) 2020.02.21 -