1. 메서드별로 예외를 처리하는 방법
- try-catch / throws 방법
- 1순위로 적용된다.
2. 하나의 컨트롤러에서 발생하는 예외를 모아서 처리하는 방법
- @ExceptionHandler(메서드 작성) 방법
- 2순위로 적용된다.
ex) controller에서 메서드 작성
@ExceptionHandler(Exception.class)
public String exceptionHandler(Exception e, Model model) {
e.printStackTrace();
model.addAttribute("errorMsg", "서비스 이용중 문제가 발생했습니다.");
return "common/errorPage";
}
3. 전역에서 발생하는 예외를 모아서 처리하는 클래스
- @ControllerAdvice(클래스 작성) 방법
- 3순위로 적용된다.
ex) 새로운 클래스 작성
package com.kh.spring.common.exception;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
@ControllerAdvice
public class ExceptionController {
@ExceptionHandler(Exception.class)
public String exceptionHandler(Exception e, Model model) {
e.printStackTrace();
model.addAttribute("errorMsg", "서비스 이용중 문제가 발생했습니다.");
return "common/errorPage";
}
}
'Spring' 카테고리의 다른 글
Spring (6) 비동기 요청하기 (0) | 2023.08.03 |
---|---|
Spring (4) 요청 처리 후 "응답 데이터"를 담고 응답페이지로 url 재요청하기 (0) | 2023.08.03 |
Spring (3) parameter 받기 (0) | 2023.08.01 |
Spring (2) 객체 생성 (0) | 2023.08.01 |
Spring (1) lombok (0) | 2023.08.01 |