코드 그라데이션

예외처리 Quiz 본문

Java/후발대

예외처리 Quiz

완벽한 장면 2023. 3. 3. 01:23

Quiz
인기가 많은 상품이 선착순으로 판매되는 온라인 쇼핑몰에서 발생할 수 있는 문제를 처리하는 프로그램을 작성하시오 

조건

  1. 발생 가능 문제의 2 가지 조건 : 상품 구매 가능 시간 상품 매진
  2. 각 문제에 대한 사용자 정의 예외 클래스 작성
  3. 에러 코드에 따른 의도적 예외 발생 및 예외 처리
  4. 모든 클래스는 하나의 파일에 정의할 것.


에러 코드에 따른 메시지

 

실행 결과

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

'Java > 후발대' 카테고리의 다른 글

후발대 21일차 설명 추가  (0) 2023.03.04
후발대 21일차 전체 코드  (0) 2023.03.03
후발대 20일차 설명 추가  (0) 2023.03.02
후발대 20일차 전체 코드  (0) 2023.03.02
후발대 19일차 설명 추가  (0) 2023.02.24
Comments