- [JPA] 23. Mustache를 사용한 Blog 제작 - 에러 컨트롤러 및 커스텀 익셉션 만들기2024년 10월 11일
- Song hyun
- 작성자
- 2024.10.11.오전09:45
728x90반응형[JPA] 23. Mustache를 사용한 Blog 제작 - 에러 컨트롤러 및 커스텀 익셉션 만들기
1. Exception 클래스 만들기
-RuntimeException 클래스를 상속한 Exception 클래스 만들기
(400,401,403,404,500)
package com.tenco.blog_v1.common.errors; public class Exception401 extends RuntimeException { // throw new Exception400("야 너 잘못 던졌어"); <-- 사용하는 시점에 호출 모습 public Exception401(String msg){ super(msg); } }
- @ControllerAdvice : 전역적인 예외 처리를 담당하는 클래스임을 표시
- @ExceptionHandler : 특정 예외가 발생했을 때 실행할 메서드 지정
- ModelAndView : 뷰+데이터 동시에 반환. // 에러 페이지와 메세지 전달
2. GlobalExceptionHandler 클래스
package com.tenco.blog_v1.common.errors; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.ControllerAdvice; import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.servlet.ModelAndView; @ControllerAdvice// --> 화면으로 내릴 예정 public class GlobalExceptionHandler { /** * 400 Bad Request 예외 처리 * @param ex * @param model * @return */ @ExceptionHandler(Exception400.class) public ModelAndView handleException400(Exception400 ex, Model model) { ModelAndView mav = new ModelAndView("err/400"); mav.addObject("msg",ex.getMessage()); return mav; } }
728x90반응형'JPA' 카테고리의 다른 글
[JPA] 25. 댓글 기능 작성하기 (1) 2024.10.16 [JPA] 24. Mustache를 사용한 Blog 제작 - 인터셉터 만들기 (0) 2024.10.11 [JPA] 22. Mustache를 사용한 Blog 제작 - 에러 페이지 만들기 (0) 2024.10.11 [JPA] 21. Stream API 연습 문제 (0) 2024.10.01 [JPA] 20. Stream API를 활용한 데이터 컬렉션 처리란? (1) 2024.10.01 다음글이전글이전 글이 없습니다.댓글
스킨 업데이트 안내
현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)