1. 예외 처리 방법
2) 예외 선언으로 예외 떠넘기기/알리기
3) try~catch문을 사용하지만 처리하지 않고 은폐하기(예외 신경안쓰고 모른척...)
2. 예외 선언 - 메서드 호출 시 발생 가능한 예외를 호출한 쪽에 알리기
throw: 예외 발생
throws: 예외 선언
3. finally 블럭
예외 발생여부와 관계 없이 수행되어야 하는 코드 넣기
try {
// 예외 발생 가능성이 있는 문장
} catch (Exception1 e1) {
// 예외 처리 문장
} finally {
// 예외 발생 여부에 관계 없이 항상 수행되는 문장
// finally 블럭은 try~catch문 맨 마지막에 위치
}
4. 사용자 정의 예외
- 프로그래머가 직접 예외 클래스 정의
- Exception과 RuntimeException 중 조상을 선택하면 됨(보통 예외 처리가 선택인 RuntimeException을 사용)
5. 예외 되던지기(exception re-throwing)
- 예외 처리 후 다시 예외를 발생 시키는 것
- 호출한 메서드와 호출된 메서드 양쪽에서 모두 예외를 처리하는 것
6. 연결된 예외(chained excption)
- 한 예외가 다른 예외를 발생시킬 수 있음
- 예외 A가 예외 B를 발생시키면, A는 B의 원인 예외(cause exception)
Throwable init Cause(Throwable cause) // 지정한 예외를 원인 예외로 등록
Throwable getCause() // 원인 예외 반환
- 예외 안에 또 다른 예외를 포함 시키는 것
사용 이유?
- 여러 예외를 하나로 묶어서 다루기 위함(너무 많은 예외가 있는 경우 catch블럭이 그만큼 많아지니까 그것을 묶는 것)
- checked예외(예외처리 필수)를 unchecked예외(예외처리 선택)로 변경하려고 하는 경우
'Java' 카테고리의 다른 글
Java String 클래스 (0) | 2022.12.30 |
---|---|
Java Object 클래스 (0) | 2022.12.29 |
Java 예외처리(exception handling) (0) | 2022.12.29 |
Java 내부 클래스(inner class) (0) | 2022.12.29 |
Java default 메서드와 static 메서드 (0) | 2022.12.29 |