浅谈JAVA在项目中如何自定义异常

网友投稿 275 2022-10-15


浅谈JAVA在项目中如何自定义异常

java项目中自定义异常

1.数据返回处理类

@Data

public class R implements Serializable {

private static final lSkyujojCVWong 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 = "测http://试异常处理")

public R testError(@RequestParam("id") String id){

UserVO userVO=new UserVO();

SysUser byId = sysUserService.getById(id);

BeanUtils.copyProperties(byId,userVO);

return new R<>(userVO);

}

执行结果

使用自定义异常

@GetMapping("/testCheck")

@ApiOperation(value = "测试返回值正常处理")

public R testCheck(){

try {

int i=10/0;

}catch (Exception e){

e.printStackTrace();

throw new GuliException(1001,"错误测试");

SkyujojCVW }

return new R<>(true);

}

执行结果


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:《LTE教程:原理与实现(第3版)》第2章扩展阅读
下一篇:《LTE教程:原理与实现(第3版)》第1章扩展阅读
相关文章

 发表评论

暂时没有评论,来抢沙发吧~