JAVA

JAVA 예외 처리 방법2

로픽 2016. 7. 7. 21:28
300x250

예외 어디까지 던질 수 있나?(자바 예외 처리)



main -> doA() -> doB() -> doC() 순서대로 호출한다


하지만 예외처리는 호출한 쪽에서 담당을 한다



여기서 호출한 쪽에서 선택할 수 있는 것은 2가지이다


1. 예외처리를 하기 싫으면 그 예외를 자신이 직접 처리하던가(try ~ catch)

2. 자신도 예외를 던지던가(throws로 예외전가)


** return의 경우 어떤 메소드를 호출하더라도 리턴결과값을 받지 않을 수 있다

** 하지만 예외처리의 경우는 항상 결과값을 처리하여야한다(return 보다 강력하다)



예외를 처리하거나 던지는 경우

- 메소드가 독립적인지 단독적인지를 따져야한다


독립적인 메소드

- 메소드 내에서 다른 메소드를 호출해서 사용할때

- 메소드 내에서 만들어지는 결괏값은 최종결괏값

- 메소드 자체가 외부에 공개되는 대표적인 객체의 성격을 나타내는 메소드


단독적인 메소드 (이 경우 예외를 던지는 것이 좋다)

- 거의 public이 선언되지 않는다

- 인스턴스 변수를 초기화하거나 인스턴수 변수에 실행결과를 저장한다

- 다른 메소드를 위한 준비 작업의 성격이 짙다




*** 위에 코딩을 보면 최종적으로 main에서도 예외를 던져버립니다

(예외를 처리하기 싫으면 그냥 발생한 예외를 던져버리거나 끝내면 됩니다. 제한된 영역은 없다)

반응형