例外を処理するための5つの方法がありますSpringBoot:
カスタムエラーページ
SpringBootのデフォルトの例外処理メカニズムは:SpringBootのデフォルトは、例外を処理するためのメカニズムを提供しました。プログラムが出現すると、URLの異常SpringBootはの/エラーのような要求を送信します。/エラー要求にspringbootにBasicExceptionControllerと呼ばれるプロセスを提供し、その後、異常な異常情報を表示するには、デフォルトの表示ページにジャンプします。
私たちは、カスタムエラーページへの異常なジャンプのすべてを統一する必要がある場合は、SRC /メイン/リソース/ templatesディレクトリにerror.htmlページを作成する必要があります。そして、タグを追加します。
<スパン目:テキスト= "$ {例外}"> </スパン>
例外処理のためのExceptionHandle注釈@つ、
ただ、コントローラにこのメソッドを追加します。
1 @ExceptionHandler(値= {java.lang.ArithmeticException。クラス})
2 公共のModelAndView arithmeticExceptionHandler(例外e){
3 のModelAndViewのMV = 新規のModelAndView()。
4 mv.addObject( "エラー" 、e.toString())。
5 mv.setViewName( "エラー" )。
6 リターンMV。
7 }
三、@ ControllerAdvice + @ exceptionHandlerの注釈例外処理のための
例外を処理することができ、グローバル例外クラスを作成する必要があります。クラスに@ControllerAdviceコメントを追加する必要があります。
1 @ControllerAdvice
2 パブリック クラスGlobalException {
3 @ExceptionHandler(値= {java.lang.ArithmeticException。クラス})
4 公共のModelAndView arithmeticExceptionHandler(例外e){
5 のModelAndView MV = 新規のModelAndView()。
6 mv.addObject( "エラー" 、e.toString())。
7 mv.setViewName( "エラー" )。
8 リターンMV。
9 }
10 }
第四に、例外を処理SimpleMappingExceptionResolver設定
グローバル例外クラスでは、プロセスの統一例外クラスを完了するためのメソッドを追加します
1 @Configuration
2 パブリック クラスGlobalException {
3 公共SimpleMappingExceptionResolver getSimpleMappingExceptionResolver(){
4 SimpleMappingExceptionResolverレゾルバ= 新しいSimpleMappingExceptionResolver()。
5つの プロパティのプロパティ= 新しいプロパティ();
6 properties.put( "java.lang.ArithmeticException"、 "エラー" )。
7 resolver.setExceptionMappings(特性)
8 リターンリゾルバ。
9 }
10 }
HandlerExceptionResolverを扱うV.カスタム例外
HandlerExceptionResolverインタフェースは、グローバル例外クラスを達成する必要があります
1 @Configuration
2 public class GlobalException implements HandlerExceptionResolver {
3 @Override
4 public ModelAndView resolverException(HttpServletRequest request, HttpServletResponse response, Object object, Exception exception) {
5 ModelAndView mv = new ModelAndView();
6 if(exception instanceof ArithmeticException) {
7 mv.setViewName("error");
8 }
9 mv.addObject("error", exception.toString());
10 return mv;
11 }
12 }