사용자 정의 Exception
- Exception 클래스를 상속받아 정의한 checked Exception
: 이는 반드시 오류 처리를 해야만하는 Exception
: 예외처리를 하지 않으면 컴파일 오류를 발생시킴.
- RuntimeException 클래스를 상속받아 정의한 unCheckedException
: 예외 처리하지 않아도 컴파일 시에는 오류를 발생시키지 않음.
* 하지만, 모든 오류 처리를 해 놓는 것이 프로그램이 원활하게 돌아가게 하기 위해서는 매우 중요하다!
RuntimeException을 상속받은 BizException객체 : unCheckedException
public class BizException extends RuntimeException {
public BizException(String msg){
super(msg);
}
}
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(); //객체 생성
biz.bizMethod(5); //메소드 실행
try{
biz.bizMethod(-3); //예외 상황 0보다 작은 매개변수
}catch(Exception ex){
ex.printStackTrace();
}
}
}
JAVA Exception 에러 출력
e.getMessage() : 에러의 원인을 간단하게 출력합니다.
e.toString() : 에러의 Exception 내용과 원인을 출력합니다.
e.printStackTrace() : 에러의 발생근원지를 찾아서 단계별로 에러를 출력합니다.
'👩💻 BackEnd > ☕️ 자바 [Java]' 카테고리의 다른 글
[JAVA] StringBuilder (0) | 2023.04.29 |
---|---|
[JAVA] 자바 IO (0) | 2023.04.24 |
[JAVA] 내부클래스 (0) | 2023.04.17 |
[JAVA] 인터페이스 default / static 예시 (0) | 2023.04.17 |
[Java] 클래스 형변환 (0) | 2023.04.17 |