본문 바로가기
프로그래밍 놀이터/디자인 패턴, 리펙토링

[Effective Java] 예외 상황에서만 예외를 사용하자.

by 돼지왕 왕돼지 2017. 2. 20.
반응형

 [Effective Java] 예외 상황에서만 예외를 사용하자.


API, Effective JAVA, jvm, try-catch, [Effective Java] 예외 상황에서만 예외를 사용하자., 반복 루프, 부작용, 예외, 예외 상황, 예외적인 상황, 정상적은 흐름 제어, 중복 검사, 처리 속도, 최적화, 표준 이디엄


-
예외는 예외 상황을 대비해 설계된 것이므로, JVM 을 만드는 회사가 예외 처리 속도를 빠르게 하려고(우리가 명시적으로 검사하는 것만큼) 매달릴만한 일이 아니다.
try-catch 블록 내부에 코드를 넣으면, 여러 종류의 JVM 이 해 줄 수 있는 나름의 최적화를 못하게 하는 부작용이 생길 수 있다.
배열을 반복 루프 처리하면서 정상적인 루프 종료 검사를 하는 표준 이디엄 코드가 반드시 중복 검사를 하는 것은 아니다. 근래의 JVM들에서는 그런 코드를 최적화한다.


-
예외는 예외적인 상황에서만 사용해야 한다.
절대로 정상적인 흐름 제어에 사용하면 안된다.


-
잘 설계된 API에서는 클라이언트가 예외를 사용해서 정상적인 흐름 제어를 하게끔 하지 않는다.



Summary


예외는 예외적인 상황에서 사용하기 위해 설계되었다.
정상적인 흐름 제어에 예외를 사용하지 말자.
그리고 다른 사람들이 정상적인 흐름 제어에 예외를 사용하게 하는 그런 API 를 작성하지 말자.





반응형

댓글