코딩항해기

[JAVA] 사용자 정의 예외 본문

JAVA

[JAVA] 사용자 정의 예외

miniBcake 2024. 7. 25. 15:20

 

 

 

체크 예외와 비체크 예외

 

체크 예외 checked exception

체크 예외는 RuntimeException 클래스를 상속받지 않은 예외 클래스들이다. 체크 예외는 복구 가능성이 있는 예외이므로 반드시 예외를 처리하는 코드를 함께 작성해야 한다. 대표적으로 IOException, SQLException 등이 있으며, 예외를 처리하기 위해서는 try catch 문으로 내부에서 처리해주거나 throws를 통해 메서드를 사용하는 측에서 처리하게 할 수 있다. 만약 예외를 처리하지 않으면 컴파일 에러가 발생한다.

 

비체크 예외, 언체크 예외 unchecked exception

RuntimeException 클래스를 상속받는 예외 클래스들은 복구 가능성이 없는 예외들이므로 컴파일러가 예외처리를 강제하지 않는다. 비체크 예외는 Error와 마찬가지로 에러를 처리하지 않아도 컴파일 에러가 발생하지 않는다. 즉, 런타임 예외는 예상치 못했던 상황에서 발생하는 것이 아니므로 굳이 예외 처리를 강제하지 않는다. RuntimeException에는 대표적 NullPointerException이나 IllegalArgumentException 등과 같은 것들이 있다. 

 

 

  체크 예외 언체크 예외
예외처리 필수 선택
Spring 트랜젝션에서 롤백 롤백 가능 롤백 불가 (옵션변경가능)

 

 

사용자 정의 예외 클래스 선언

//체크 예외
class MiniBcakeCheckedException extends Exception {
	private String message;
    public MiniBcakeCheckedException (String message){
    	this.message = message;
    }
    @Override
    public String getMessage(){
    	return this.message;
    }
}