예외 처리, try- catch문

0
try {
	// 예외가 발생할 가능성이 있는 문장들을 넣는다.
} catch (Exception1 e1) {
	// Exception1이 발생했을 경우, 이를 처리하기 위한 문장을 적는다.
} catch (Exception2 e2) {
	// Exception2이 발생했을 경우, 이를 처리하기 위한 문장을 적는다.
} catch (ExceptionN eN) {
	// ExceptionN이 발생했을 경우, 이를 처리하기 위한 문장을 적는다.
}

↳ 참고) if문과 달리, try블럭이나 catch블럭 내에 포함된 문장이 하나뿐이어도 괄호{} 생략불가.

try- catch문에서의 흐름

  1. try블럭 내에서 예외가 발생한 경우
    1) 발생한 예외와 일치하는 catch블럭이 있는지 확인한다.
    2) 일치하는 catch블럭을 찾으면,
    해당 catch블럭 내의 문장들을 수행 & 전체 try-catch문을 빠져나가고 그 뒤의 문장을 계속해서 수행
    → 만일 일치하는 catch블럭을 찾지 못하면, 예외는 처리되지 못함(비정상 종료)
    3) try블럭에서 예외가 발생하면, try블럭 내에 다음 코드는 실행되지 않음.
  2. try블럭 내에서 예외가 발생하지 않은 경우
    ↳ catch블럭을 거치지 않고 전체 try-catch문을 빠져나가서 수행을 계속한다.
  • Exception e : 모든 예외의 최고 조상, 모든 예외처리가 가능하다 → 제일 마지막에 옴!

출처

  • 자바의 정석 기초편 - youtube : ch 8- 7,8
profile
백엔드를 공부하고 있습니다.

0개의 댓글