에러 탈출 일지

[Java] 예외처리 본문

개발/Java

[Java] 예외처리

뉴NEW 2022. 8. 23. 21:20

 < 에러의 예외 > 

 1. error(에러): 컴파일시에 발생하는 문제
 2. exception(예외): 실행시에 발생하는 문제
 3. 예외처리 - 예외를 처리하여 프로그램이 정상적으로 실행되도록 하는 것
 4. Exception 클래스 - 모든 예외의 부모 클래스, java.lang 패키지 안에 존재

 

< 예외를 처리하는 방법>

- try, catch는 1개  필수, 그 이상은 선택
- try 블럭 안: 예외가 발생할 수 있는 구문. 1번만 사용(필수)
- catch 블럭 안: 예외가 발생했을 때의 처리. 1개는 필수, 그 이상을 선택.
- finally 블럭: catch 블럭 아래에 1번만 사용 가능, 선택, 예외의 발생 유무와 상관없이 항상 실행 함.
 
1. try ~ catch(예외)

 

2. try ~ catch ~ catch~ : catch(예외)~
  → catch는 발생하는 예외의 종류만큼 쓸 수 있음. 예외 종류마다 다른 처리 하고 신싶다며
  → 예외의 종류를 명확하게 알 수 있음

 

3. try ~catch~(예외|예외|예외)
  → catch안에서  | 로 연결하는 예외는 개수의 제한은 없음
  → 다양한 종류의 예외에 대채서 처리할 수 있음. 모든 예외에 대해 처리방식이 한가지 일 때 사용
  → 예외의 종류를 명확하게 알 수 있음
  → 멀티 catch 블럭, 자바 7번부터 지원 

 

4. try ~ catch(Exception e)
  → catch 안에 Exception을 사용하면 모든 자식 예외들을 처리할 수 있음 
  → 모든 예외를 처리는 할 수 있지만, 정확하게 어떤 예외가 발생하는지 알 수 없음. 

 

5. try ~ catch(자식) ~ catch(자식) ~ ... ~ catch(Exception) 

6. try ~ catch ~ finally

 

 

< 자주 발생하는 예외 >

예외1.ArrayIndexOutOfBoundsException: 배열의 인덱스의 범위를 넘었을 대 발생하는 예외 

예외2. ArithmeticException: 0으로 나누었을 때 발생하는 예외

예외3. NullPointerException: null 값인데 멤버접근 연산자를 사용하려고 할 때 발생하는 예외

예외4. NumberFormatException: 숫자의 형식을 올바르지 않게 바꾸려고할 때 발생하는 예외