좋은 오류와 예외

황규빈·2022년 9월 18일
0

Clean Code

목록 보기
6/7

좋은 오류와 예외에 대해서

오류 처리는 "입력이 유효하지 않은 경우" 혹은 "디바이스가 실패하는 경우"를 대처하기 위해 필수적이다

오류대신 예외를 사용하라

과거에는 많은 상황에서 프로그래밍 언어의 한계로 인해,
오류 코드를 반환하여 확인하는 방식으로 구현

예외를 사용해 로직을 처리하는 영역과 오류를 처리하는 영역을 구분


예외를 상위로 던지는 방법
throw 키워드를 이용
예외를 처리하는 방법
try catch

Checked Exception과 Unchecked Exception; Unchecked Exception을 이용하라

Checked Exception은 반드시 처리가 요구되는데, 상위로 처리를 넘기고자 하는 상황에서 OCP 원칙을 위반하게 된다(처리하고자 하는 상위까지 도달하기 위해서, 중간에 위치한 모든 메서드에서 선언부를 수정해야 한다)

Exception Wrapper

Exception wrapping is when you catch an exception, wrap it in a different exception and throw that exception.

Here is an example:

 try{
       dao.readPerson();
 } catch (SQLException sqlException) {
       throw new MyException("error text", sqlException);
 }

null을 반환하지 말아라
Null Exception 처리를 어디에서 처리할 것인지 결정하기 어려움
vs Optional

profile
어제보다 더 나음을 위해.

0개의 댓글