[개발] - Java/후발대
예외처리 Quiz
완벽한 장면
2023. 3. 3. 01:23
Quiz
인기가 많은 상품이 선착순으로 판매되는 온라인 쇼핑몰에서 발생할 수 있는 문제를 처리하는 프로그램을 작성하시오
조건
- 발생 가능 문제의 2 가지 조건 : 상품 구매 가능 시간 상품 매진
- 각 문제에 대한 사용자 정의 예외 클래스 작성
- 에러 코드에 따른 의도적 예외 발생 및 예외 처리
- 모든 클래스는 하나의 파일에 정의할 것.
에러 코드에 따른 메시지
실행 결과
1) 에러 코드 0
2) 에러 코드 1
3) 에러 코드 2
Hint : 예외 메시지 출력 시 e.getMessage() 이용
풀이
package prac18;
// 에러코드
// Day 20에서 푼 문제이다.
// 에러 코드 0번일 때는
// 상품 구매를 완료하였습니다만 줓력하면 되고, try문 내에서만 처리하면 된다.
// 1번일 때는
// 예외 객체를 만들 때 "상품 구매 가능 시간이 아닙니다" 를 써넣고,
// 예외 처리 시에는 "상품 구매는 20시부터 가능합니다" 출력
// 2번일 때는
// 예외 객체를 만들 때 "해당 상품은 매진되었습니다."
// 예외처리 메시지는 "다음 기회에 이용해주세요" 를 써넣으면 된다.
public class Prac18 {
public static void main(String[] args) {
int errorCode = 0;
// int errorCode = 1;
// int errorCode = 2;
try {
if (errorCode == 0) {
System.out.println("상품 구매를 완료하였습니다.");
} else if (errorCode == 1) {
throw new NotOnSaleException("상품 구매 가능 시간이 아닙니다.");
} else if (errorCode == 2) {
throw new SoldOutException("해당 상품은 매진 되었습니다.");
}
} catch (NotOnSaleException e) {
System.out.println(e.getMessage());
System.out.println("상품 구매는 20시부터 가능합니다.");
} catch (SoldOutException e) {
System.out.println(e.getMessage());
System.out.println("다음 기회에 이용해주세요.");
}
}
}
class NotOnSaleException extends Exception {
public NotOnSaleException(String message) {
super(message);
}
}
class SoldOutException extends Exception {
public SoldOutException(String message) {
super(message);
}
}
728x90
반응형