예외처리

Web

[Spring] 예외 코드 Enum 으로 관리하기

지난번 사이드 프로젝트를 할 때 커스텀한 예외 클래스를 따로 개별적으로 관리하여 한 눈에 보기 힘들고 중복되는 코드가 많아 가독성이 떨어진다는 느낌을 받았다. 그래서 이번에는 enum 으로 예외 코드를 관리해보기로 하였다. 자바의 Enum 타입이란 ? 공식 문서에 따르면 자바에서 Enum 타입은 고정된 상수들의 집합을 나타내는 특별한 데이터 타입으로, 변수는 미리 정의된 값들 중 하나와 같아야 한다. 또한, 상수들은 쉼표로 구분되며 대문자로 표기한다. public enum Day { SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY } 또한 상수에 대한 의미있는 값을 미리 부여하여 활용할 수 있는데, 이렇게 하면 Enum 상수가 단순한 식별자..

JAVA

[JAVA] 체크 예외와 언체크 예외

평소 체크 예외와 언체크 예외의 용도를 생각하지 않고 사용했던 것 같아 정리를 해본다. 체크 예외(Checked Exception)와 언체크 예외(Unchecked Exception) 1. 체크 예외 ( Checked Exception ) - 컴파일러가 예외를 확인하므로 컴파일 타임에 예외를 발생시킨다. - 예외를 처리하기위해 try-catch 블록이나 throws 를 사용해야 한다. ex> IOException, FileNotFoundException public class CheckedExceptionExample { public static void main(String[] args) { try { File file = new File("nonexistent.txt"); FileInputStream..

Web

[Spring] Exception Handling 에 대해서

항시 프로젝트를 할 때 예외 처리가 중요하다고 생각하여 예외를 커스텀하여 ControllerAdvice를 통해 전역 처리를 했었다. 그런데 그 메커니즘에 대해서는 궁금해하지 않았던 것 같아, 이번에는 Spring이 예외를 처리하는 메커니즘에 대해서 순서도와 같이 정리를 해보려한다. Spring 의 예외 처리 프로세스 보이는 대로 해석을 해보자면, ① @ExceptionHandler 가 같은 Controller에 존재하는가 ? - Yes : 예외는 @ExceptionHandler 로 처리된다. - No : ② 로 이동 ② @ExceptionHandler 가 @ControllerAdvice 클래스에 존재하는가 ? - Yes : 예외는 @ExceptionHandler 로 처리된다. - No : ③ 로 이동 ③..

limnj
'예외처리' 태그의 글 목록