Notice
Recent Posts
Recent Comments
Link
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
Archives
Today
Total
관리 메뉴

개발자일기

Effective JAVA Exception처리 본문

개발

Effective JAVA Exception처리

ka0oll 2020. 3. 30. 18:51

개발을 하다보면 귀차니즘으로 인해 RuntimeException으로 throw한다.

검사 예외와 런타임 예외를 어떻게 구분 해야될까

검사(체크) 에러

호출하는 쪽에서 복구 하리라 여기지는 상황이면 검사(체크) 예외를 사용해라

  • API설계자가 검사 예외를 던져주어 핸들링 하라는 의미
  • ex) DB 트랜잭션 실패의 경우에는 롤백이 필요하니 검사 에러가 적합

API를 제대로 사용해도 발생할수 있는 오류, 프로그래머가 조치를 취할수잇는 오류

일반적으로 복구 가능한 정보도 전달

  • Exception에 메소드 제공

        FailType failType;
        public OrderCancelFailException(FailType failType){
            this.FailType = failType;
        }
    
        FailType getType(){
            return failType;
        }
    

비검사(런타임) 에러

프로그래밍 오류를 나타냄

  • API 사용자의 실수

대부분 전제 조건을 만족시키지 몰할때 발생

  • 제약사항, validation오류 같은 경우

검사, 비검사 얘매할땐 비검사 예외를 전달

  • 복구가 가능하다 싶으면 검사 에러, 그렇지 않다면 비검사 에러
  • 예를 들어 무한 리소스 요구, 실제로 프로그래밍 적으로 실수인지 예매한경우 개발자의 판단.

'개발' 카테고리의 다른 글

암호화 방식과 HTTPS  (0) 2020.04.10
Redis 트랜잭션, Spring Data Redis  (0) 2020.03.31
진정한 Rest Api란 무엇인가?  (0) 2020.03.28
Spring mvc NIO + webflux  (0) 2020.03.24
Mockito를 이용한 Unit테스트 Mocking  (0) 2020.03.22
Comments