程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长


+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

2023-06(2)

全局事务处理+ 异常处理 springboot

发布于2022-01-06 08:18     阅读(796)     评论(0)     点赞(11)     收藏(5)


1. 全局事务处理 

 @Transactional(rollbackFor= RuntimeException.class) 默认就是拦截运行时异常

下面是不拦截运行时异常  通常是不需要写的

2. 全局异常处理

  1. package sso.exception;
  2. import lombok.extern.slf4j.Slf4j;
  3. import org.springframework.web.bind.annotation.ExceptionHandler;
  4. import org.springframework.web.bind.annotation.RestControllerAdvice;
  5. import sso.vo.SystemResult;
  6. import java.sql.SQLException;
  7. /**
  8. * 标示该类是全局异常处理机制
  9. * 通知: aop技术, 解决特定的问题
  10. * 只拦截controller层抛出的异常
  11. */
  12. @RestControllerAdvice//返回值都是json串
  13. //@ControllerAdvice
  14. @Slf4j
  15. public class SystemExceptionHandler {
  16. /**
  17. * 需要为全局异常定义一个方法
  18. * 说明 需要为全局异常定义一个方法
  19. * 要求 返回的统一的业务数据 sysResult
  20. * 拦截 指定遇到某种异常实现aop处理
  21. */
  22. //当程序报运行时异常, 执行这个方法(Exception.class 过分了)
  23. @ExceptionHandler({RuntimeException.class, SQLException.class})
  24. public SystemResult fail(Exception e){
  25. //多就 Obj
  26. log.error(e+"");
  27. e.printStackTrace();
  28. return SystemResult.error("统一异常机制捕获--->"+e);
  29. }
  30. }

{

    "success": false,

    "code": "500",

    "msg": "统一异常机制捕获--->java.lang.ArithmeticException: / by zero",

    "data": null,

    "timestamp": 1641373179245

}

测试: 就是 随便找个地方 写一个 int i = 1/0 ; 即可快去试试吧

原文链接:https://blog.csdn.net/pingzhuyan/article/details/122327548



所属网站分类: 技术文章 > 博客

作者:听说你很拽

链接:http://www.javaheidong.com/blog/article/372905/f9bf85780bac25d3797b/

来源:java黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

11 0
收藏该文
已收藏

评论内容:(最多支持255个字符)