다중 캐치 예외 처리
단일 catch 블록에서 여러 예외 타입을 처리합니다.
코드 비교
✕ Pre-Java 7
try {
process();
} catch (IOException e) {
log(e);
} catch (SQLException e) {
log(e);
} catch (ParseException e) {
log(e);
}
✓ Java 7+
try {
process();
} catch (IOException
| SQLException
| ParseException e) {
log(e);
}
이 코드에 문제가 있나요? 알려주세요.
모던 방식이 더 나은 이유
DRY 원칙
동일한 처리 로직을 세 번 대신 한 번만 작성합니다.
다시 던지기 가능
잡힌 예외를 정확한 타입으로 다시 던질 수 있습니다.
스캔 용이
처리되는 모든 타입이 한 곳에 표시됩니다.
이전 방식
별도의 캐치 블록
모던 방식
다중 캐치
JDK 버전
7
난이도
초급
JDK 지원
다중 캐치 예외 처리
사용 가능
JDK 7 (2011년 7월) 이후 널리 사용 가능
동작 원리
다중 캐치는 동일한 코드로 여러 예외 타입을 처리합니다. 예외 변수는 사실상 final이므로 래핑 없이 다시 던질 수 있습니다.
관련 문서