본문 바로가기

Java

Java 예외처리(exception handeling)2

1. 예외 처리 방법

1) try~catch문으로 예외 직접 처리하기

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