티스토리 뷰

반응형

 

 

 

해커랭크 Day 17 챌린지를 시작해보자. 🔥

 

오늘도 어제와 마찬가지로

Exception에 대해 배웠다.

 

어제는 예외를 try-catch로 처리했다면

오늘은 throws Exception으로 예외를 처리했다.

 

먼저 강의 소스코드부터 확인해보자.

 


 


/*
rule1: the score should never be negative
rule2: there should be no way to lose points
if we break a rule, throw an exception
 */
public class HotChocolate {
    public static final double tooHot = 185;
    public static final double tooCold = 160;

    public static void drinkHotChocolate(double cocoaTemp) throws TooHotException, TooColdException {
        if (cocoaTemp >= tooHot) {
            throw new TooHotException();
        } else if (cocoaTemp <= tooCold) {
            throw new TooColdException();
        }
    }

    public static void main(String[] args) {
        double currentCocoaTemp = 200;
        boolean wrongTemp = true;
        while (wrongTemp) {

            try {
                drinkHotChocolate(currentCocoaTemp);
                System.out.println("That cocoa was good!");
                wrongTemp = false;
            } catch (TooHotException e1) {
                System.out.println("THAT'S TOO HOT!");
                currentCocoaTemp = currentCocoaTemp - 5;
            } catch (TooColdException e2) {
                System.out.println("THAT'S SO COLD! It's like the arctic");
                currentCocoaTemp = currentCocoaTemp + 5;
            }
        }
        System.out.println("And it's gone. ");
    }
}

HotChocolate.java

 

public class TemperatureException extends Exception {
}

TemperatureException.java

 

public class TooColdException extends TemperatureException {

}

TooColdException.java

 

public class TooHotException extends TemperatureException {

}

TooHotException.java

 

 

 

이 강의를 들으면서 느끼는 거지만

예제가 너무 귀엽다 😆😆

 

핫초코 온도가 너무 뜨거운 예외,

너무 차가운 예외 ㅋㅋㅋㅋㅋㅋㅋ

 

예제가 귀여워서 강의가 재밌다!!

 

 


아무튼 오늘의 소스코드에서는

예외를 try-catch로 처리하는 것이 아닌

throws로 처리하는 방식에 대해 학습했는데

java의 예외 처리에 대해서

아직 잘 모른다면

다음의 두 링크를 참고하자!!

 

링크1(클릭시 이동)

링크2(클릭시 이동)

 

 

 

필자의 블로그 포스팅인데

필자도 예외처리가 헷갈려서 참고하며

오늘 문제를 풀었다.

 

다들 날씨가 더운데 오늘 하루도 열심히 공부하자. 😊😊

반응형