2016-08-12 4 views
0

すべてのサーバ側のエラーをログに記録します。私はspring mvc:Springのデフォルトハンドラをオーバーライドせずに例外を記録する

@ControllerAdvice 
public class MyHandler { 

    @ExceptionHandler(Throwable.class) 
    ResponseEntity handle(HttpServletRequest req, Throwable t) { 
    // if t is clientError return 400 
    // else log and return 500 
    }  
} 

を追加しましたが、今、私は手動で、例えばのように、すべてのデフォルトスプリングのの4xxエラーをリストする必要がありHttpMediaTypeNotSupportedException。最初に春のデフォルトハンドラにできるエラーをすべて処理させてから、私のMyHandlerを実行するだけで何ができますか?

または、春の未処理エラーを傍受する他の方法がありますか?

+0

あなたは側面を使用することができますが、そこにされて** @ AfterThrowing **注釈。 – duardito

+0

どのように私の問題を解決するのですか?私は自分のコードが他のすべての種類のエラーを処理する前に、まず春に例外を処理する方法を知りません – piotrek

答えて

0

あなたは、たとえば、別の方法に取り扱うお使いのエラーを分割し、例外処理ロジックを実装する必要があります。 https://www.mkyong.com/spring-mvc/spring-mvc-exceptionhandler-example/

またはこれを:

https://spring.io/blog/2013/11/01/exception-handling-in-spring-mvc

+0

このリンクのどれも、私自身のコードがすべて処理される前に春がその例外を処理する方法を示していませんその他の種類のエラー – piotrek

+0

'HandlerExceptionResolver'の使用については、http://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/web/servlet/HandlerExceptionResolver.html – pacman

関連する問題