Notice
Recent Posts
Recent Comments
Link
«   2026/05   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
Archives
Today
Total
관리 메뉴

ki-sd 님의 블로그

[2026-03-27] try-with-resources와 사용자 정의 예외(Custom Exception) 본문

JavaStudy

[2026-03-27] try-with-resources와 사용자 정의 예외(Custom Exception)

ki-sd 2026. 4. 17. 21:27

복잡한 자원 해제 코드를 자동화하는 현대적인 문법과, 도메인에 특화된 에러를 직접 설계하는 방법을 익혔다.

 

1. try-with-resources (자원 관리의 자동화)

  • 기존의 try-catch-finally 구조는 자원을 닫기 위한 코드가 본래의 로직보다 길어지는 가독성 저하를 유발했다.
  • 자바 7부터 도입된 try-with-resources 구문을 사용하면, try(자원 할당) 괄호 안에 객체를 생성할 경우 예외 발생 여부와 상관없이 블록이 끝날 때 시스템이 알아서 close()를 호출해 준다. 단, 해당 객체가 반드시 AutoCloseable 인터페이스를 구현하고 있어야 한다는 내부 작동 원리를 확인했다.

2. 사용자 정의 예외(Custom Exception) 설계

  • 자바가 기본적으로 제공하는 NullPointerException, ArithmeticException 등의 표준 예외만으로는 복잡한 비즈니스 로직(예: 잔액 부족, 아이디 중복 등)의 에러 상황을 섬세하게 표현하기 어렵다.
  • Exception이나 RuntimeException 클래스를 상속받아 직접 나만의 예외 클래스를 정의하는 방법을 배웠다.
  • 문제가 발생하는 상황에서 throw 키워드를 사용해 강제로 내가 만든 예외 객체를 던지고, 이를 호출한 곳으로 떠넘겨(throws) 비즈니스 로직과 에러 처리 로직을 깔끔하게 분리하는 고급 에러 핸들링 기술을 습득했다.