淺談JAVA在項(xiàng)目中如何自定義異常
JAVA項(xiàng)目中自定義異常
1.數(shù)據(jù)返回處理類
@Data
public class R<T> implements Serializable {
private static final long serialVersionUID = -8497670085742879369L;
@ApiModelProperty(value = "返回碼", example = "200")
private Integer code=200;
@ApiModelProperty(value = "返回消息", example = "")
private String message="SUCCESS";
@ApiModelProperty(value = "返回?cái)?shù)據(jù)", example = "")
private T data;
private R() {
}
public R(T data) {
this.data = data;
}
public R(Integer code,String message) {
this.code=code;
this.message = message;
}
}
2.新建自定義異常
@Data
@AllArgsConstructor
@NoArgsConstructor
public class GuliException extends RuntimeException{
private Integer code;
private String msg;
}
3.定義異常處理
@ControllerAdvice
public class GlobalExceptionHandler {
//指定出現(xiàn)什么異常執(zhí)行這個(gè)方法
@ExceptionHandler(GuliException.class)
@ResponseBody //返回?cái)?shù)據(jù)
public R error(GuliException e){
e.printStackTrace();
return new R(e.getCode(),e.getMsg());
}
}
4.不使用異常處理示例
@GetMapping("/testError")
@ApiOperation(value = "測(cè)試異常處理")
public R<UserVO> testError(@RequestParam("id") String id){
UserVO userVO=new UserVO();
SysUser byId = sysUserService.getById(id);
BeanUtils.copyProperties(byId,userVO);
return new R<>(userVO);
}
執(zhí)行結(jié)果

使用自定義異常
@GetMapping("/testCheck")
@ApiOperation(value = "測(cè)試返回值正常處理")
public R<Boolean> testCheck(){
try {
int i=10/0;
}catch (Exception e){
e.printStackTrace();
throw new GuliException(1001,"錯(cuò)誤測(cè)試");
}
return new R<>(true);
}
執(zhí)行結(jié)果

到此這篇關(guān)于淺談JAVA在項(xiàng)目中如何自定義異常的文章就介紹到這了,更多相關(guān)JAVA自定義異常內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Redisson分布式信號(hào)量RSemaphore的使用超詳細(xì)講解
這篇文章主要介紹了Redisson分布式信號(hào)量RSemaphore的使用,基于Redis的Redisson的分布式信號(hào)量RSemaphore采用了與java.util.concurrent.Semaphore相似的接口和用法2023-02-02
SpringBoot日志進(jìn)階實(shí)戰(zhàn)之Logback配置經(jīng)驗(yàn)和方法
本文給大家介紹在SpringBoot中使用Logback配置日志的經(jīng)驗(yàn)和方法,并提供了詳細(xì)的代碼示例和解釋,包括:滾動(dòng)文件、異步日志記錄、動(dòng)態(tài)指定屬性、日志級(jí)別、配置文件等常用功能,覆蓋日常Logback配置開(kāi)發(fā)90%的知識(shí)點(diǎn),感興趣的朋友跟隨小編一起看看吧2023-06-06
玩轉(zhuǎn)spring boot 結(jié)合AngularJs和JDBC(4)
玩轉(zhuǎn)spring boot,這篇文章主要介紹了結(jié)合AngularJs和JDBC,玩轉(zhuǎn)spring boot,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-01-01
Spring Cloud Feign性能優(yōu)化代碼實(shí)例
這篇文章主要介紹了Spring Cloud Feign性能優(yōu)化代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-03-03
java讀取文件內(nèi)容,解析Json格式數(shù)據(jù)方式
這篇文章主要介紹了java讀取文件內(nèi)容,解析Json格式數(shù)據(jù)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-09-09
Java編寫(xiě)簡(jiǎn)單計(jì)算器的完整實(shí)現(xiàn)過(guò)程
這篇文章主要給大家介紹了關(guān)于Java編寫(xiě)簡(jiǎn)單計(jì)算器的完整實(shí)現(xiàn)過(guò)程,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12
SpringBoot中@PostConstruct 注解的實(shí)現(xiàn)
在Spring Boot框架中,?@PostConstruct是一個(gè)非常有用的注解,它用于在依賴注入完成后執(zhí)行初始化方法,本文將介紹?@PostConstruct的基本概念、使用場(chǎng)景以及提供詳細(xì)的代碼示例,感興趣的可以了解一下2024-09-09
IDEA報(bào)錯(cuò)之前言中不允許有內(nèi)容問(wèn)題及解決
當(dāng)使用IntelliJ IDEA時(shí),可能會(huì)遇到報(bào)錯(cuò)信息“前言中不允許有內(nèi)容”,這通常是由于XML文件是以帶有BOM頭的UTF-8格式保存的,導(dǎo)致IDE的解析出錯(cuò),解決辦法是在IDEA中調(diào)整文件編碼設(shè)置為無(wú)BOM的UTF-8,然后用文本編輯器(如Notepad++)2024-10-10

