淺談JAVA在項(xiàng)目中如何自定義異常
JAVA項(xiàng)目中自定義異常
1.數(shù)據(jù)返回處理類(lèi)
@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)文章
Java聊天室之實(shí)現(xiàn)聊天室服務(wù)端功能
這篇文章主要為大家詳細(xì)介紹了Java簡(jiǎn)易聊天室之實(shí)現(xiàn)聊天室服務(wù)端功能,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,需要的可以了解一下2022-10-10SpringBoot+WebSocket實(shí)現(xiàn)多人在線(xiàn)聊天案例實(shí)例
本文主要介紹了SpringBoot+WebSocket實(shí)現(xiàn)多人在線(xiàn)聊天案例,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-02-02純Java代碼實(shí)現(xiàn)流星劃過(guò)天空
本文給大家介紹純java代碼實(shí)現(xiàn)流星劃過(guò)天空,包括流星個(gè)數(shù),流星飛行的速度,色階,流星大小相關(guān)變量設(shè)置。對(duì)java流星劃過(guò)天空特效代碼感興趣的朋友可以參考下本文2015-10-10WebSocket實(shí)現(xiàn)聊天室業(yè)務(wù)
這篇文章主要為大家詳細(xì)介紹了WebSocket實(shí)現(xiàn)聊天室業(yè)務(wù),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-08-08RocketMQ之Consumer整體介紹啟動(dòng)源碼分析
這篇文章主要為大家介紹了RocketMQ源碼分析之Consumer整體介紹啟動(dòng)分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-05-05Springboot多環(huán)境開(kāi)發(fā)及使用方法
這篇文章主要介紹了Springboot多環(huán)境開(kāi)發(fā)及多環(huán)境設(shè)置使用、多環(huán)境分組管理的相關(guān)知識(shí),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-03-03Spring Security自定義認(rèn)證器的實(shí)現(xiàn)代碼
這篇文章主要介紹了Spring Security自定義認(rèn)證器的實(shí)現(xiàn)代碼,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-06-06java調(diào)用process線(xiàn)程阻塞問(wèn)題的解決
這篇文章主要介紹了java調(diào)用process線(xiàn)程阻塞問(wèn)題的解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-06-06