예외
예외 정리
종류
구분
예
롤백여부
처리 여부
Checked Exception
Exception
IOException
SQLException
.....
O
try~catch반드시 처리
Unchecked Exception
NPE
NumberFormatException
Illegal~Exception
.....
X
X
추세 및 권고 사항
Unchecked Exception을 사용
검사 예외에서 따로 처리하는게 없음. 대부분 로깅하고 끝.
검사예외에서는 유의미한 어떤 작업이 필요하나 보통 하지 않음
소스코드를 복잡하게 만드는 원흉이됨
예전에는 검사예외가 권고사항이었으나, 타 언어에서도 그렇고 검사예외는 이제 정말 필요할 때 아니면 사용을 금함
비검사 예외를 적극 사용하고, 유의미한 예외처리 필요
레이어에 맞는 예외처리
웹기반에서 흔히 Controller 레이어, Servcie 레이어, DAO 레이어 등 각 레이어 성격에 맞는 예외처리.
Service 레이어에서 SQLException 처리를 한다던지 등은 성격에 맞지 않음
로그 프레임워크
Logback, log4j 등 로그 프레임워크 사용하여 로그 관리
처리 방식
상위가 아래
try~catch 에서 반드시 어떤 작업이라도 할것
로그를 남겨야한다면, 로그 프레임워크를 통해 로그를 남길것
예외전환
좀더 명확한 예외로 던지기
상위 예외 처리 회피는 세부 Exception을 가리게 됨 → 사용하지 말 것
Last updated
Was this helpful?