본문 바로가기
자바(Java)

자바 입문하기19 - 사용자정의 exception

by codeyaki 2022. 1. 12.
반응형

해당 강의를 보고 정리한 것입니다.

https://programmers.co.kr/learn/courses/5

 

자바 입문

자바 입문 가장 널리 쓰이는 프로그래밍 언어 Java로 프로그래밍의 기초를 다져보세요. 이 강의의 내용을 책으로 만나고 싶으시면 여기를 눌러 책 정보를 확인하세요. 강의를 다 들었는데, 지금

programmers.co.kr


사용자 정의 Exception

: Exception이나 Exception의 자식을 상속받아 만들어진 클래스

클래스의 이름만으로 어떤 오류가 발생했는지 알게 해 더욱 직관성을 높이기 위해서 사용

  • Exception 클래스를 상속받아 정의한 checked Exception
    - 반드시 오류를 처리해야만 하는 Exception
    - 예외 처리하지 않으면 컴파일 오류 발생
  • RuntimeException 클래스를 상속받아 정의한 unChecked Exception
    - 예외 처리하지 않아도 오류를 발생시키지 않음

RuntimeException을 상속받은 BizException클래스

public class BizException extends RuntimeException {
	public BizException(String msg) {
		super(msg);
	}
	public BizException(Exception ex) {
		super(ex);
	}
}

 

BizService클래스는 업무를 처리하는 메서드를 가지고 있다고 가정

public class BizService {
	public void bizMethod(int i) throws BizException{
		System.out.println("비즈니스 메서드 시작");
		
		if(i<0) 
			throw new BizException("매개변수 i는 0이상이여야 합니다.");
		
		
		System.out.println("비즈니스 메서드 종료");
	}
}

BizService를 이용하는 BizExam클래스

  • 매개변수 -1을 넘길때는 Exception이 발생하기 때문에 try catch블록으로 처리하기
public class BizExam {
	public static void main(String[] args) {
		BizService biz = new BizService();
		try {
		biz.bizMethod(5);
		biz.bizMethod(-2);
		} catch(BizException e) {
			System.out.println(e);
		}
	}
}

>>

비즈니스 메서드 시작
비즈니스 메서드 종료
비즈니스 메서드 시작
BizException: 매개변수 i는 0이상이어야 합니다.

 

반응형