Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- reflection
- bytecode
- JWT
- jvm
- JSON
- AOP
- PSA
- Java
- OOP
- 서명
- mockito
- SOA
- redis
- Generic
- ddd
- rest api
- junit5
- Spring Data Redis
- IOC
- *
- MSA
- Rest
- di
- spring
- bounded context
- Transaction
- Exception
Archives
- Today
- Total
개발자일기
Effective JAVA Exception처리 본문
개발을 하다보면 귀차니즘으로 인해 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