사용자 도구

사이트 도구


springframework:mvc:handlerexceptionresolver

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
springframework:mvc:handlerexceptionresolver [2014/10/31 18:07]
kwon37xi
springframework:mvc:handlerexceptionresolver [2021/07/14 12:49] (현재)
kwon37xi
줄 3: 줄 3:
   * Spring MVC의 예외 처리를 담당한다.   * Spring MVC의 예외 처리를 담당한다.
   * [[http://spring.io/blog/2013/11/01/exception-handling-in-spring-mvc|Exception Handling in Spring MVC]]   * [[http://spring.io/blog/2013/11/01/exception-handling-in-spring-mvc|Exception Handling in Spring MVC]]
 +  * [[springframework:mvc:controlleradvice|@ControllerAdvice]] 를 사용하는게 대세임.
 +  * [[springframework:problem_spring_web|Problem Spring Web]]
  
 ===== 기본 확장 ===== ===== 기본 확장 =====
줄 8: 줄 10:
   * 이때 ''logException()''과 ''buildLogMessage()'' 메소드를 Override하여 자신이 사용하는 로그 라이브러리에 로그를 남기도록 처리하는 것이 좋다.   * 이때 ''logException()''과 ''buildLogMessage()'' 메소드를 Override하여 자신이 사용하는 로그 라이브러리에 로그를 남기도록 처리하는 것이 좋다.
  
-===== @ControllerAdvice ===== 
-  * ''@ControllerAdvice''에 각종 예외 처리 핸들러(''@ExceptionHandler'')를 미리 등록해 두고 component-scan을 하면 자동 에러 처리가 된다. 
-  * [[http://www.javabeat.net/exception-controlleradvice-spring-3-2/|Exception Handling With @ControllerAdvice in Spring 3.2]] 
-<code java> 
-package javabeat.net; 
  
-import java.io.IOException; +===== 참조 ===== 
-import java.sql.SQLException;+  * [[http://www.baeldung.com/exception-handling-for-rest-with-spring|Error Handling for REST with Spring]]
  
-import org.springframework.web.bind.annotation.ControllerAdvice; 
-import org.springframework.web.bind.annotation.ExceptionHandler; 
-import org.springframework.web.servlet.ModelAndView; 
-import org.springframework.web.servlet.config.annotation.EnableWebMvc; 
- 
-@ControllerAdvice 
-public class ControllerAdviceTest { 
-    @ExceptionHandler(IOException.class) 
-    public ModelAndView handleIOException(IOException exception){ 
-        ModelAndView andView = new ModelAndView(); 
-        andView.setViewName("error"); 
-        return andView; 
-    } 
-    @ExceptionHandler(SQLException.class) 
-    public ModelAndView handleSQLException(SQLException exception){ 
-        ModelAndView andView = new ModelAndView(); 
-        andView.setViewName("error"); 
-        return andView; 
-    } 
-    // JSON 에러 내면서 Http Status Code 변경 
-    @ExceptionHandler(Exception.class) 
-    @ResponseBody 
-    public ResponseEntity<SomeErrorObject> exceptionHandler(Exception e) { 
-        // org.springframework.http.HttpStatus 를 참조할 것. 
-        HttpStatus httpStatus = HttpStatus.INTERNAL_SERVER_ERROR; 
-        SomeErrorObject errorObject = new SomeErrorObject(); 
- 
-        return new ResponseEntity<>(errorObject, httpStatus); 
-    } 
-} 
-</code> 
springframework/mvc/handlerexceptionresolver.1414746470.txt.gz · 마지막으로 수정됨: 2014/10/31 18:07 저자 kwon37xi