DEV ℧ Developer Diary

[EffectiveJava] item72 - 표준 예외를 사용하라

예외도 일반 코드와 마찬가지로 재사용하는 것이 좋으며, 자바 라이브러리는 대부분 API에서 쓰기에 충분한 수의 예외를 제공한다.

표준 예외의 재사용

표준 예외를 재사용 하면 아래와 같은 이점이 있다.

  1. 규약을 그대로 따르기 때문에 API가 다른사람이 익히고 사용하기가 쉬워진다.
  2. 개발한 API를 사용한 프로그램도 낯선 예외를 사용하지...

[Book] 실용주의 프로그래머

PPP

실용주의 프로그래머

책을 읽고

많은 이들이 기술서적으로 추천하는 책중 하나인 실용주의 프로그래머를 최근에 다 읽게 되어 느낀점을 남기려고 한다.

실용주의 프로그래머는 특정 기술의 활용법에 대한 내용을 기술한것이 아닌 데이비드 토머스와 앤드류 헌트가 수십년간의 프로그래밍 경험을 녹혀 소프트웨어 개발자로서의 실무적인...

[EffectiveJava] item71 - 필요 없는 검사 예외 사용은 피하라

검사 예외는 제대로 활용하면 API와 프로그램의 질을 높일 수 있다. 결과를 코드로 반환하거나 비검사 예외를 던지는 것과 달리, 검사 예외는 발생한 문제를 프로그래머가 처리하여 안전성을 높이게끔 해준다.

사용자에게는 불편할 수 있다. 어떤 메서드가 검사 예외를 던질 수 있다고 선언됐다면, 이를 호출하는 코드에서는 catch 블록을 두어...

[EffectiveJava] item70 - 복구할 수 있는 상황에는 검사 예외를, 프로그래밍 오류에는 런타임 예외를 사용하라

자바는 문제 상황을 알리는 타입(throwable)으로 검사 예외, 런타임 예외, 에러, 이렇게 세 가지를 제공하는데, 언제 무엇을 사용해야 하는지 헷갈려 하는 프로그래머들이 종종 있다.

먼저 검사 예외(CheckedException) 와 비검사 예외(UncheckedException) 에 대해 간략하게 알아 보고 가자.

exception

출처: https://www.javamadesoeasy.com/2015/05/exception-handling-exception-hierarchy.html

검사 예외 (CheckedException)<br...

[EffectiveJava] item69 - 예외는 진짜 예외 상황에만 사용하라

다음과 같은 코드를 마주치게 된다고 하자.

try { int i =0; while(true) range[i++].climb(); } catch (ArrayIndexOutOfBoundsException e) <span...