CH12-2 · DECISION

try-catch-finally의 실행 순서의 선택 기준을 나란히 비교한다

비교 항목: try에는 함께 실패 처리할 코드만 둔다 / 다중 catch는 같은 처리를 공유한다 / finally의 return은 원래 결과를 덮어쓴다

try-catch-finally의 실행 순서 판단표
확인 질문판단 근거코드에서 드러낼 것
try에는 함께 실패 처리할 코드만 둔다너무 넓게 감싸면 어느 문장에서 난 예외인지와 어떤 상태가 변경됐는지 알기 어렵습니다.타입과 시작값
다중 catch는 같은 처리를 공유한다관련 없는 여러 예외에 완전히 같은 복구가 필요하면 catch (A | B error)로 묶습니다.실패 또는 변경 경계
finally의 return은 원래 결과를 덮어쓴다finally에서 반환하거나 새 예외를 던지면 try의 결과와 예외가 사라질 수 있습니다.선택한 규칙의 결과

선택 기준 finally에서 반환하거나 새 예외를 던지면 try의 결과와 예외가 사라질 수 있습니다.