SpringBoot配置异常处理类

举报
西魏陶渊明 发表于 2022/09/25 03:16:00 2022/09/25
【摘要】 首先定义一个异常 public class MyException extends Exception { public MyException(String message) { super(message); } } 当在control类中throw此异常 @Control...

首先定义一个异常

public class MyException extends Exception {
    public MyException(String message) {
        super(message);
    }
}

当在control类中throw此异常

@Controller
public class HelloController {
    @RequestMapping("/json")
    public String json() throws MyException {
        throw new MyException("发生错误2");
    }
}

处理该异常

@ControllerAdvice
public class GlobalExceptionHandler {
    @ExceptionHandler(value = MyException.class) //这个注解,接受异常
    @ResponseBody //返回json
    public ErrorInfo<String> jsonErrorHandler(HttpServletRequest req, MyException e) throws Exception {
        ErrorInfo<String> r = new ErrorInfo<>();
        r.setMessage(e.getMessage());
        r.setCode(ErrorInfo.ERROR);
        r.setData("Some Data");
        r.setUrl(req.getRequestURL().toString());
        return r;
    }
}

应用启动:响应

{
    code: 100,
    data: "Some Data",
    message: "发生错误2",
    url: "http://localhost:8080/json"
}

文章来源: springlearn.blog.csdn.net,作者:西魏陶渊明,版权归原作者所有,如需转载,请联系作者。

原文链接:springlearn.blog.csdn.net/article/details/102425250

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。