• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

Springboot处理异常的常见方式

springboot 搞代码 4年前 (2022-01-05) 121次浏览 已收录 0个评论

SpringBoot框架异常处理有多种处理方式,今天就带大家了解一下常见的springboot异常处理方式,文中有非常详细的介绍及代码示例,需要的朋友可以参考下

一、制造来源[email protected]搞@^&代*@码)网异常

报500错误。在大量的代码中很难找到错误

二、统一异常处理

添加异常处理方法

GlobalExceptionHandler.java中添加

 //指定出现什么异常执行这个方法 @ExceptionHandler(Exception.class) @ResponseBody //为了返回数据 public R error(Exception e) { e.printStackTrace(); return R.error().message("执行了全局异常处理.."); } 

报错异常:在大型项目中,可对多种异常进行处理,便于找bug

三、特殊异常处理

定义异常,特别处理ArithmeticException异常

 //特定异常处理 @ExceptionHandler(ArithmeticException.class) @ResponseBody//为了返回数据 public R error(ArithmeticException e){ e.printStackTrace(); return R.error().message("执行了ArithmeticException异常处理"); } 

异常处理结果:

四、自定义异常处理

第一步:创建自定义处理类的实体类:

 @Data @AllArgsConstructor//生成有参构造方法 @NoArgsConstructor//生成无参构造方法 public class MyException extends RuntimeException{ private Integer code; private String msg; } 

第二步:在统一异常类中添加规则:

 //自定义异常处理 @ExceptionHandler(MyException.class) @ResponseBody//返回数据 public R error(MyException e){ e.printStackTrace(); return R.error().code(e.getCode()).message(e.getMsg());//封装自定义异常信息 } 

第三步:执行自定义异常

 try{ int i=10/0; }catch (Exception e){ throw new MyException(20001,"执行自定义异常处理"); }

以上使用的R类,用于封装json数据的格式:

 @Data public class R { @ApiModelProperty(value = "是否成功") private Boolean success; @ApiModelProperty(value = "返回码") private Integer code; @ApiModelProperty(value = "返回消息") private String message; @ApiModelProperty(value = "返回数据") private Map data = new HashMap(); private R(){} public static R ok(){ R r = new R(); r.setSuccess(true); r.setCode(ResultCode.SUCCESS); r.setMessage("成功"); return r; } public static R error(){ R r = new R(); r.setSuccess(false); r.setCode(ResultCode.ERROR); r.setMessage("失败"); return r; } public R success(Boolean success){ this.setSuccess(success); return this; } public R message(String message){ this.setMessage(message); return this; } public R code(Integer code){ this.setCode(code); return this; } public R data(String key, Object value){ this.data.put(key, value); return this; } public R data(Map map){ this.setData(map); return this; } } 
 public interface ResultCode { public static Integer SUCCESS = 20000; public static Integer ERROR = 20001; }

到此这篇关于Springboot处理异常的常见方式的文章就介绍到这了,更多相关springboot异常处理内容请搜索gaodaima搞代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持gaodaima搞代码网

以上就是Springboot处理异常的常见方式的详细内容,更多请关注gaodaima搞代码网其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Springboot处理异常的常见方式

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址