L
LY Corp
September 12, 20251회
코드 품질 개선 기법 20편: 이례적인 예외 과대 포장

간단 소개
예외 처리 시 예외를 감싸는 대신 addSuppressed를 사용하고, 예외 우선순위를 신중히 결정하여 예외 처리의 정확성을 높여야 합니다.
AI Summary
- 이례적인 예외 과대 포장의 문제점
Closeable.use
와 유사한 기능을 구현할 때, 예외를 통합하기 위해 새로운 예외로 감싸는 방식은 호출자가 예상하는 예외 유형과 달라 문제를 일으킬 수 있음. 특히, 특정 예외를 catch하려는 코드가 의도대로 작동하지 않을 수 있음.- 예외를 감싸는 과정에서 원래 예외 정보가 손실되거나, checked exception이 unchecked exception으로 바뀌어 예외 처리가 누락될 수 있음.
- 개선 방안 및 Java에서의 주의사항
- 여러 예외가 발생할 가능성이 있을 때,
Throwable.addSuppressed
를 사용하여 예외를 연결하고, 어떤 예외를 우선적으로 처리할지 신중하게 결정해야 함.dispose
와 같은 보조적인 호출에서 발생한 예외보다는 주요 작업에서 발생한 예외를 우선하는 것이 일반적임. - Java의 checked exception을 다룰 때, 예외를 감싸더라도 예외 유형 구분이 유지되지만, 부모-자식 관계의 예외를 처리하는 경우나 unchecked exception으로 변환하는 경우에는 주의가 필요함.
- 여러 예외가 발생할 가능성이 있을 때,
Next Feeds

AI Agent 개발 경진대회
교보DTS에서 AI Agent 개발 경진대회를 개최하여 임직원의 AI 역량 강화 및 아이디어 실현 기회를 제공합니다.
AI Agent개발 경진대회교보DTSAI 활용아이디어
2025. 9. 12.
교보dts

JuiceFS: 오브젝트 스토리지를 활용하는 HDFS 호환 분산 파일 시스템
JuiceFS는 오브젝트 스토리지를 활용하여 HDFS의 한계를 극복하고 Hadoop 환경에서 유연한 데이터 관리를 가능하게 하는 분산 파일 시스템이다.
JuiceFSHDFS오브젝트 스토리지Hadoop분산 파일 시스템
2025. 9. 11.
Naver d2

백엔드 개발자의 시선으로 풀어본 LLM 내부 동작 원리: 6단계로 쉽게 이해하기
LLM의 내부 동작 원리를 6단계로 나누어 설명하고, LLM을 효과적으로 활용하기 위한 팁을 제공합니다.
LLM토큰화임베딩트랜스포머어텐션
2025. 9. 11.
카카오페이

FE 최적화, 비즈니스로 시작해서 엔지니어링으로 끝내기
당근 FE팀의 비즈니스 관점 FE 최적화 경험 공유: 트래픽 기반 최적화 지점 선정, LCP 개선 등 실질적인 성능 향상 전략.
FE 최적화LCP비즈니스 관점성능 개선프론트엔드
2025. 9. 11.
당근

LINE Games의 DB 현대화와 GenAIOps 전환 여정
LINE Games는 DB 현대화와 GenAIOps 전환을 통해 안정적인 게임 운영, 비용 최적화, 운영 효율성을 높이고 있습니다.
LINE GamesDocumentDBElastiCacheGenAIOpsAmazon Q Developer CLI
2025. 9. 11.
AWS

여기어때 CI/CD 개선기 Part 5: Slack으로 완성되는 배포 가시성
GitLab CI와 ArgoCD Notifications를 활용하여 CI/CD 알림 프로세스를 개선하고 배포 가시성을 확보한 과정을 담고 있습니다.
CI/CDGitLab CIArgoCDSlackDevOps
2025. 9. 10.
여기어때