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

 更新时间:2021年06月29日 11:59:26   作者:L1569850979  
今天给大家带来的是关于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);
    }

执行结果

在这里插入图片描述

使用自定义异常

@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 Swing实现扫雷源码

    Java Swing实现扫雷源码

    这篇文章主要为大家详细介绍了Java Swing实现扫雷源码,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-06-06
  • struts2自定义MVC框架

    struts2自定义MVC框架

    这篇文章主要为大家详细介绍了struts2如何自定义MVC框架,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-10-10
  • Java binarysearch方法原理详解

    Java binarysearch方法原理详解

    这篇文章主要介绍了Java binarysearch方法原理详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-01-01
  • SpringSecurity框架下实现CSRF跨站攻击防御的方法

    SpringSecurity框架下实现CSRF跨站攻击防御的方法

    CSRF是一种网络攻击方式,也可以说是一种安全漏洞,这种安全漏洞在web开发中广泛存在。这篇文章主要介绍了SpringSecurity框架下实现CSRF跨站攻击防御,需要的朋友可以参考下
    2019-12-12
  • SpringBoot整合JPA框架实现过程讲解

    SpringBoot整合JPA框架实现过程讲解

    在开发中,我们通常会对数据库的数据进行操作,Sprirng Boot对关系型数据库和非关系型数据库的访问操作都提供了非常好的整合支持
    2022-12-12
  • 详解Java枚举为什么是单例模式的最佳选择

    详解Java枚举为什么是单例模式的最佳选择

    这篇文章主要为大家详细介绍了Java枚举为什么是单例模式的最佳选择,文中通过简单的示例进行了讲解,具有一定的学习价值,需要的可以参考一下
    2023-05-05
  • SpringCloud feign微服务调用之间的异常处理方式

    SpringCloud feign微服务调用之间的异常处理方式

    这篇文章主要介绍了SpringCloud feign微服务调用之间的异常处理方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-06-06
  • 从零开始让你的Spring Boot项目跑在Linux服务器

    从零开始让你的Spring Boot项目跑在Linux服务器

    这篇文章主要给大家介绍了如何从零开始让你的Spring Boot项目跑在Linux服务器的相关资料,由于springboot是内嵌了tomcat,所以可以直接将项目打包上传至服务器上,需要的朋友可以参考下
    2021-11-11
  • 在Spring Boot中实现HTTP缓存的方法

    在Spring Boot中实现HTTP缓存的方法

    缓存是HTTP协议的一个强大功能,但由于某些原因,它主要用于静态资源,如图像,CSS样式表或JavaScript文件。本文重点给大家介绍在Spring Boot中实现HTTP缓存的方法,感兴趣的朋友跟随小编一起看看吧
    2018-10-10
  • Struts2源码分析之ParametersInterceptor拦截器

    Struts2源码分析之ParametersInterceptor拦截器

    这篇文章主要介绍了Struts2源码分析之ParametersInterceptor拦截器,ParametersInterceptor拦截器其主要功能是把ActionContext中的请求参数设置到ValueStack中,,需要的朋友可以参考下
    2019-06-06

最新评论