温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

JAVA在项目中怎么自定义异常

发布时间:2021-06-29 16:04:13 来源:亿速云 阅读:155 作者:chen 栏目:开发技术

这篇文章主要讲解了“JAVA在项目中怎么自定义异常”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“JAVA在项目中怎么自定义异常”吧!

JAVA项目中自定义异常

1.数据返回处理类

@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 = "返回数据", 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 {


    //指定出现什么异常执行这个方法
    @ExceptionHandler(GuliException.class)
    @ResponseBody  //返回数据
    public R error(GuliException e){
        e.printStackTrace();
        return new R(e.getCode(),e.getMsg());
    }
}

4.不使用异常处理示例

 @GetMapping("/testError")
    @ApiOperation(value = "测试异常处理")
    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);
    }

执行结果

JAVA在项目中怎么自定义异常

使用自定义异常

@GetMapping("/testCheck")
    @ApiOperation(value = "测试返回值正常处理")
    public R<Boolean> testCheck(){
           try {
               int i=10/0;
           }catch (Exception e){
               e.printStackTrace();
               throw new GuliException(1001,"错误测试");
           }
        return  new R<>(true);
    }

执行结果

JAVA在项目中怎么自定义异常

感谢各位的阅读,以上就是“JAVA在项目中怎么自定义异常”的内容了,经过本文的学习后,相信大家对JAVA在项目中怎么自定义异常这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI