[0616] Exception Handling

ㅇㅇㅈ·2025년 6월 17일

Exception

  • 프로그램이 강제 종료되지 않고, 오류 상황을 자체적으로 처리할 수 있도록 함.
  • 사용자가 잘못 입력하더라도 시스템이 멈추지 않고 친절히 메시지로 안내.

try-catch 구문 자체가 예외가 생기는 경우를 상정하는 구문인데,
finally 블록을 붙여 예외 발생과 관계 없이무조건 실행되는 코드라고 한다.

 

만일 finally 블록을 사용해서 매번 리소스를 반환한다면 메모리 누수 방지에 정말 좋을 것 같다.


사용자 정의 예외가 뭐지

 

이걸 왜 굳이 커스터마이징 하지

코드 가독성 향상특정 예외를 의미 있는 이름으로 정의하여 가독성을 높임
비즈니스 로직 반영프로젝트의 요구사항에 맞는 예의를 정의하여 명확한 오류 메시지 제공
예외 처리 구조 개선불필요한 try-catch 사용을 줄이고,
예외를 한 곳에서 처리 가능
예외 추적 가능성 증가개발자가 정의한 예외 클래스이기에
예외 원인을 더 쉽게 찾을 수 있음

예외 전파 - 예외 전환

예외 전파 (exception propagation)

  • 발생한 예외를 그대로 상위 메소드로 전달
  • throws SQLException을 사용하여 예외를 그대로 전달

위로 올라가먀 메소스를 호출하는 예외 전파

예외 전환(exception translation)

  • 기존 예외를 의미 있는 도메인 예외로 변환
  • SQLExceptionDatabaseConnectionException 변환

솔직히

깜자
나는 아직 쪼렙이라 자세히 알 수는 없지만..
먼 미래에는 분명 도움이 되것제..

0개의 댓글