예외 선언 & finally

0

예외를 처리하는 방법

1) try-catch문 (직접 처리)
2) 예외 선언하기 (예외 떠넘기기,알리기)
3) 무시(은폐, 덮기) - 빈 catch문을 넣음

예외 선언

: 메소드가 호출 시 발생가능한 예외를 호출하는 쪽에 알리는 것
( 본인이 처리할 수 있는 일은 처리하지만, 할 수 없는 것은 자신을 호출한 메소드에게 알려줌)
→ 예외를 발생시키는 키워드 throw & 예외를 메소드에 선언할 때 쓰이는 throws를 잘 구별해야함.

void method() throws Exception1, Exception2, ExceptionN { //method()를 호출하면 Exception들과 같은 예외가 발생할 수 있다는 것을 알려줌
	//메소드의 내용
}
void method() throws Exception { // 모든 예외의 최고 조상 → 모든 종류의 예외가 발생 가능
}

throws 는 필수처리(checked)예외만 선언함. 런타임에러(unchecked)예외는 적지 않음.

finally 블럭

: 예외 발생여부와 관계없이 수행되어야 하는 코드를 넣는다.

try {
	// 예외가 발생할 가능성이 있는 문장들을 넣는다.
} catch ( Exception1 e1) {
	// 예외처리를 위한 문장을 적는다.
} finally {
	// 예외의 발생여부와 관계없이 항상 수행되어야하는 문장들을 넣는다.
    // finally 블럭은 try-catch문의 맨 마지막에 위치해야한다.
}

↳ try블럭 안에 return문이 있어서 try블럭을 벗어난다 해도, finally 블럭은 실행됨

↳ 작업이 성공하던! 실패하던! 무조건!! 실행해줘야하는 코드를 넣음.

출처

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

0개의 댓글