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와 같이 앞자리만 표시해도 됨)