i-no.log
로그인
i-no.log
로그인
[클린 코드 읽고 정리해두고 다시 보기] 오류 처리
inho ha
·
2024년 9월 20일
팔로우
0
클린 코드
0
클린 코드 읽고 정리해두고 다시 보기
목록 보기
6/16
오류 코드보다 예외를 사용하라
오류 코드를 반환하면 함수를 호출한 즉시 오류를 확인해야 하기 때문에 조건문이 중첩된다.
Try-Catch-Finally 문부터 작성하라
try 블록은 트랜잭션과 비슷하다.
try 블록의 트랜잭션 범위부터 구현한다면 트랜잭션 본질을 유지하기 쉬워진다.
unchecked 예외를 사용하라
checked 예외는 Open Closed Principle를 위반한다. (메서드에서 checked 예외를 던졌는데 catch 블록이 세 단계 위에 있다면 그 사이 메서드 모두가 해당 예외를 정의해야한다.)
아주 중요한 라이브러리의 경우에는 유용할 수 있으나 일반적인 애플리케이션은 의존성이라는 비용이 checked 예외의 이익보다 크다.
예외에 의미를 제공하라
catch 블록에서 오류를 기록할 수 있도록 충분한 정보를 넘겨줘라
호출자를 고려해 예외 클래스를 정의하라
외부 API를 사용할 때 클래스를 생성해 감싸고, 클래스에서 외부 API의 예외를 변환하여 던져라.
정상 흐름을 정의하라
정상적인 여러 케이스들에 대해 다른 처리를 하기 위해서는 예외를 던지는 대신 클래스나 객체에서 캡슐화하여 처리하라.
null을 반환하지 마라
오류 코드를 반환하는 것과 마찬가지로 null을 반환하면 호출자가 즉시 이를 확인해야하고 조건문이 중첩된다.
null을 전달하지 마라
메서드로 null을 전달하면 메서드에서 null을 체크해야하고, 예외로 던진다면 호출자에게 예외 처리가 추가된다.
inho ha
inho ha / ian(swatchon) / iha(42seoul)
팔로우
이전 포스트
[클린 코드 읽고 정리해두고 다시 보기] 객체와 자료 구조
다음 포스트
[클린 코드 읽고 정리해두고 다시 보기] 경계
0개의 댓글
댓글 작성