这篇文章主要介绍“Java通用异常处理举例分析”,在日常操作中,相信很多人在Java通用异常处理举例分析问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Java通用异常处理举例分析”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
CommonExceptionHandler
import com.mouos.common.exception.MouosException; import com.mouos.common.vo.ExceptionResult; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.ControllerAdvice; import org.springframework.web.bind.annotation.ExceptionHandler; @ControllerAdvice public class CommonExceptionHandler { @ExceptionHandler(RuntimeException.class) public ResponseEntity<ExceptionResult> handleException(MouosException e) { return ResponseEntity.status(e.getExceptionEnum().getCode()).body(new ExceptionResult(e.getExceptionEnum())); } }
ExceptionEnum
import lombok.AllArgsConstructor; import lombok.Getter; import lombok.NoArgsConstructor; @Getter @NoArgsConstructor @AllArgsConstructor public enum ExceptionEnum { PRICE_CONNOT_BE_NULL(400, "价格不能为空"); private int code; private String msg; }
MouosException
import com.mouos.common.enums.ExceptionEnum; import lombok.AllArgsConstructor; import lombok.Getter; import lombok.NoArgsConstructor; @Getter @AllArgsConstructor @NoArgsConstructor public class MouosException extends RuntimeException { private ExceptionEnum exceptionEnum; }
ExceptionResult
import com.mouos.common.enums.ExceptionEnum; import lombok.Data; @Data public class ExceptionResult { private int status; private String message; private Long timestamp; public ExceptionResult(ExceptionEnum em) { this.status = em.getCode(); this.message = em.getMsg(); this.timestamp = System.currentTimeMillis(); } }
抛出异常
package com.mouos.item.web; import com.mouos.common.enums.ExceptionEnum; import com.mouos.common.exception.MouosException; import com.mouos.item.mode.Item; import com.mouos.item.service.ItemService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @RestController @RequestMapping("item") public class ItemController { @Autowired private ItemService itemService; @PostMapping public ResponseEntity<Item> saveItem(Item item) { if (item.getPrice() == null) { throw new MouosException(ExceptionEnum.PRICE_CONNOT_BE_NULL); } return ResponseEntity.status(HttpStatus.CREATED).body(itemService.saveItem(item)); } }
到此,关于“Java通用异常处理举例分析”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。