SPRING/스프링부트 개념과 활용
[스프링부트 개념과 활용] ExceptionHandler
JUMP개발자
2021. 1. 3. 16:14
기본 제공 Error Handler
-> 스프링 부트에서 Error가 발생할 시에는 기본적으로 아래와 같은 화면을 브라우저에서 보여준다.
Exception을 이용한 예외 처리 방법
Exception 클래스 -> RuntimeException을 상속받음
error 정보를 담고 있는 커스텀 클래스를 만들어줍니다.
@ExceptionHandler를 사용하여 SampleException이 발생할 때 아래와 같은 메시지와 이유를 세팅하고 리턴하도록 합니다.
결과 :
위의 스크린샷 로직의 경우에는 SampleController 내에서만 Exception처리가 가능하지만, 전역적으로 Exception 처리를 하고 싶다면 별도로 클래스를 만들고 그 클래스에 @ControllerAdvice를 붙여서 사용하면 된다.
Custom Error Page
error 발생 시, 상태코드 값에 따라 각각의 다른 웹페이지를 보여줄 수 있다.
resource - static 또는 templates에 error라는 디렉터리를 만들고, 상태코드.html 파일을 만들면 된다.
(정확하게 404.html을 써도 되고, 5xx와 같이 앞자리만 표시해도 됨)