[코드스테이츠] S3.Unit3 회고

JinYoung Choi·2023년 2월 19일

예외처리에 대해 배웠다.. 갑자기 난이도가 왜이리 상승해버린거지?

코드도 점점 길어져서 머리에 혼란이 오기 시작!

머리가 어지럽기 시작했지만 견뎌야 한다! 무한 복습 들어간다!

Spring MVC에서의 예외 처리

@ExceptionHandler - Controller 클래스에서 사용하면 해당 Controller에서 발생하는 예외를 처리할 수 있다.

단점

  • Controller마다 동일하게 발생하는 예외 처리에 대한 중복 코드가 발생할 수 있다.
  • 다양한 유형의 예외를 처리하기에는 적절하지 않은 방식.

해결 방법

@RestControllerAdvice

  • 애너테이션을 활용해 예외 처리를 공통화 할 수 있다.
  • JSON 형식의 데이터를 Response Body로 전송하기 위해 ResponseEntity로 래핑할 필요가 없다.

@ResponseStatus - HTTP Status를 대신 표현할 수 있다.

비즈니스 로직에대한 예외 처리

애플리케이션에서 발생하는 예외(Exception)는 크게 체크 예외(Checked Exception)와 언체크 예외(Unchecked Exception)로 구분할 수 있다.

체크 예외 - 말 그대로 발생한 예외를 잡아서(catch) 체크한 후에 해당 예외를 복구 하든가 아니면 회피 하든가 등의 어떤 구체적인 처리를 해야 하는 예외 ex) ClassNotFoundException

언체크 예외 - 예외를 잡아서(catch) 해당 예외에 대한 어떤 처리를 할 필요가 없는 예외를 의미. 따라서 언체크 예외는 명시적으로 잡아서(catch) 어떤 처리를 할 필요가 없다. ex) NullPointerException, ArrayIndexOutOfBoundsException

profile
백엔드 취준생

0개의 댓글