try에는 함께 실패 처리할 코드만 둔다
너무 넓게 감싸면 어느 문장에서 난 예외인지와 어떤 상태가 변경됐는지 알기 어렵습니다.
예외가 날 수 있는 범위를 try로 감싸고 복구 가능한 타입을 catch에서 처리합니다.
너무 넓게 감싸면 어느 문장에서 난 예외인지와 어떤 상태가 변경됐는지 알기 어렵습니다.
Exception을 먼저 잡으면 그 아래 IOException 같은 catch는 도달할 수 없어 컴파일 오류가 납니다.
관련 없는 여러 예외에 완전히 같은 복구가 필요하면 catch (A | B error)로 묶습니다.
핵심 경계 너무 넓게 감싸면 어느 문장에서 난 예외인지와 어떤 상태가 변경됐는지 알기 어렵습니다.