美文网首页
通用结果和异常处理

通用结果和异常处理

作者: 海生2018 | 来源:发表于2020-02-24 13:40 被阅读0次

Springboot通用返回

不用spring的异常,抛出500很危险

通用返回类

public class Result<T> implements Serializable {
    public final static int SUCCESS = 0;
    public final static int FAILED = -1;

    private final static String SUCCESS_MSG = "OK";

    public static <T> Result<T> newSuccess(T result) {
        return new Result<>(SUCCESS, result, SUCCESS_MSG);
    }

    public static <T> Result<T> newFailed(String msg) {
        return new Result<>(FAILED, null, msg);
    }

    /**
     * 返回码
     */
    private int status;

    /**
     * 正确时的返回结果
     */
    private T result;

    /**
     * 错误信息
     */
    private String msg;
}

用范型解决结果的类型
统一有返回码,错误信息,以及res包含的data数据(json)

通用异常类

public class CommonException extends RuntimeException {
    public static final int ERROR_CODE_DEFAULT = -1;

    private final int status;
    private final String msg;

    public CommonException(int status, String msg) {
        super(msg);
        this.msg = msg;
        this.status = status;
    }

    public CommonException(String msg) {
        super(msg);
        this.msg = msg;
        this.status = ERROR_CODE_DEFAULT;
    }

    public CommonException(int status, String msg, Throwable cause) {
        super(msg);
        this.msg = msg;
        this.status = status;
    }

    public int getStatus() {
        return status;
    }

    public String getMsg() {
        return msg;
    }
}

继承运行时异常

springboot 捕捉自定义异常

@ControllerAdvice
public class ExceptionAdvice {

    @ExceptionHandler(Exception.class)
    @ResponseBody
    public Result<?> handleException(Throwable throwable) {
        log.error("通用异常处理", throwable);
        return Result.newFailed(throwable.getMessage());
    }
}

使用切面编程捕捉异常,并调用通用返回类Result

相关文章

  • 通用结果和异常处理

    Springboot通用返回 不用spring的异常,抛出500很危险 通用返回类 用范型解决结果的类型统一有返回...

  • @Valid通用异常处理

    package com.bear.mobile.util; import com.bear.mobile.Resp...

  • 十四:Python之异常处理

    一:通用异常处理 二:finally作用 finally主要用作安全性处理 三:异常的传递 工作原理:方法3 ->...

  • 7预定义的异常

    Cocoa预先定义了一些通用异常名称,以标识可以在自己的代码中处理的异常,甚至可以引发和重新引发异常。你还可以创建...

  • SpringCloud 广告系统实战(三) - 通用模块的开发

    0 联系我 1 通用模块功能的介绍 统一的响应 异常处理

  • @ExceptionHandler+seata+sentinel

    背景说明 @ExceptionHandler是springboot中的通用异常处理,通过与配合@RestContr...

  • 异常和异常处理

    异常 在以前的代码中已经看过异常。通常错误的代码或输入会引发异常。发生异常时,程序立即停止。 下面的代码通过尝试将...

  • 统一异常处理

    一、什么是统一异常处理 1、制造异常 2、什么是统一异常处理我们想让异常结果也显示为统一的返回结果对象,并且统一处...

  • python基础(八)

    异常1.1 使用try-except代码块 结果: 1.2 使用异常避免崩溃 结果: 1.3 处理FileNotF...

  • springboot 异常捕获和处理

    springboot 异常捕获和处理 异常捕获处理

网友评论

      本文标题:通用结果和异常处理

      本文链接:https://www.haomeiwen.com/subject/iofvqhtx.html