網站首頁 編程語言 正文
1、自定義異常如何定義
package com.itheima.reggie.common;
/**
* @ClassName CustomException
* @Description 自定義異常
* @Author LPS
* @Date 2023/8/13 21:52
*/
public class CustomException extends RuntimeException{
private String msg;
public CustomException(String msg) {
super(msg);
this.msg = msg;
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
}
2、系統異常和自定義異常如何統一處理 (全局異常處理)
package com.itheima.reggie.handler;
import com.itheima.reggie.common.CustomException;
import com.itheima.reggie.common.ResultInfo;
import org.springframework.context.annotation.Configuration;
import org.springframework.dao.DuplicateKeyException;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestControllerAdvice;
/**
* @ClassName GlobExceptionHandler
* @Description 全局異常處理器
* @Author LPS
* @Date 2023/8/13 21:57
*/
@RestControllerAdvice // 通知
public class GlobExceptionHandler {
/**
* 自定義異常的處理 通知
*
* @param e
* @return
*/
@ExceptionHandler(CustomException.class)
private ResultInfo handlerCustomException(CustomException e) {
return ResultInfo.error(e.getMsg()); // ResultInfo 統一結果的返回
}
/**
* 系統異常的處理
*
* @param e
* @return
*/
@ExceptionHandler(Exception.class)
private ResultInfo handlerSystemException(Exception e) {
e.printStackTrace();
return ResultInfo.error("系統出錯了,請聯系管理員");
}
/**
* 應對mysql字段重復
* @param d
* @return
*/
@ExceptionHandler(DuplicateKeyException.class)
private ResultInfo handlerDuplicateKeyException(DuplicateKeyException d){
d.printStackTrace();
return ResultInfo.error("您輸入的內容存在...");
}
}
如果往mysql數據庫中存入數據,但是某一字段可能因為設置了唯一約束,導致字段重復會報一下錯誤:
原文鏈接:https://blog.csdn.net/ImisLi/article/details/132266436
- 上一篇:沒有了
- 下一篇:沒有了
相關推薦
- 2022-12-31 Android權限機制深入分析講解_Android
- 2023-03-11 Tensorflow的DataSet的使用詳解_python
- 2022-07-19 分布式事務其中的那些坑
- 2022-04-15 Android開發Jetpack組件WorkManager用例詳解_Android
- 2023-02-27 ahooks?useInfiniteScroll源碼解析_React
- 2022-07-09 python沒有gpu,如何改用cpu跑代碼_python
- 2023-01-15 利用Python實現讀取Word文檔里的Excel附件_python
- 2022-05-08 總結Python函數參數的六種類型_python
- 欄目分類
-
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支