CentOS 下 MySQL 服務搭建
阿新 • • 發佈:2022-04-16
1、預設異常頁面
springboot遇到異常有預設處理機制,會預設訪問url: /error,如果我們在templates目錄下新建error.html檔案,遇到異常會預設訪問我們新建的error.html
springboot遇到異常有預設處理機制,會預設訪問url: /error,如果我們在templates目錄下新建error.html檔案,遇到異常會預設訪問我們新建的error.html
2、區域性異常處理
異常處理和產生異常的方法必須在同一個類中。
以下為例子:/error和/myerror產生異常時都會進入自定義的errorException方法中繼續執行
@RestController
@RequestMapping("/exception")
public class TestExceptionController {
@RequestMapping("/error")
public String getDefaultError() {
int a = 10/0;
return "error";
}
@RequestMapping("/myerror")
public String getError() {
int a = 10/0;
return "myError";
}
@ExceptionHandler(Exception.class)
public ModelAndView errorException() {
ModelAndView mv = new ModelAndView();
mv.setViewName( "comError");
return mv;
}
}
3、全域性異常處理
自定義類中使用:@ControllerAdvice + @ExceptionHandler(NullPointerException.class)
NullPointerException.class:可自己選擇合適的異常型別,其他方法遇到這個型別的異常不需要格外的異常處理,會自動進入全域性全域性異常處理,按照型別進入對應的方法中
@ControllerAdvice
public class MyException{
@ExceptionHandler(NullPointerException.class )
public String error(Exception e) {
return "myError1";
}
@ExceptionHandler(Exception.class)
public String error(Exception e) {
return "myError2";
}
}
注意:全域性異常處理和區域性異常處理同時存在時,區域性異常處理生效