溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

JAVA在項(xiàng)目中怎么自定義異常

發(fā)布時(shí)間:2021-06-29 16:04:13 來源:億速云 閱讀:174 作者:chen 欄目:開發(fā)技術(shù)

這篇文章主要講解了“JAVA在項(xiàng)目中怎么自定義異?!?,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“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é)果

JAVA在項(xiàng)目中怎么自定義異常

使用自定義異常

@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é)果

JAVA在項(xiàng)目中怎么自定義異常

感謝各位的閱讀,以上就是“JAVA在項(xiàng)目中怎么自定義異常”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對(duì)JAVA在項(xiàng)目中怎么自定義異常這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI