当前位置: 首页 > news >正文

有没有帮忙做问卷调查的网站电商运营自学难吗

有没有帮忙做问卷调查的网站,电商运营自学难吗,申请企业资助建设网站,主流网站开发语言在线工具站 推荐一个程序员在线工具站:程序员常用工具(http://cxytools.com),有时间戳、JSON格式化、文本对比、HASH生成、UUID生成等常用工具,效率加倍嘎嘎好用。 程序员资料站 推荐一个程序员编程资料站:…
在线工具站
  • 推荐一个程序员在线工具站:程序员常用工具(http://cxytools.com),有时间戳、JSON格式化、文本对比、HASH生成、UUID生成等常用工具,效率加倍嘎嘎好用。
程序员资料站
  • 推荐一个程序员编程资料站:程序员的成长之路(http://cxyroad.com),收录了一些列的技术教程、各大面试专题,还有常用开发工具的教程。
小报童专栏精选Top100
  • 推荐一个小报童专栏导航站:小报童精选Top100(http://xbt100.top),收录了生财有术项目精选、AI海外赚钱、纯银的产品分析等专栏,陆续会收录更多的专栏,欢迎体验~

在企业级应用开发中,异常处理是一个重要的部分。通过统一处理异常,我们可以提高代码的可读性、减少重复代码、提高系统的健壮性。

什么是BusinessException?

BusinessException 是一种自定义的运行时异常,用于处理业务逻辑中的错误。例如,当用户试图执行一个未授权的操作时,抛出一个BusinessException,可以携带错误信息或错误码。这种异常可以帮助开发者更清晰地分离业务逻辑错误和系统错误。

创建BusinessException类

首先,我们需要创建一个自定义的异常类 BusinessException。这个类应该继承自 RuntimeException,并且可以包含一个错误码和一个错误信息。

public class BusinessException extends RuntimeException {private int errorCode;public BusinessException(String message) {super(message);}public BusinessException(int errorCode, String message) {super(message);this.errorCode = errorCode;}public int getErrorCode() {return errorCode;}
}

创建全局异常处理器

为了统一处理 BusinessException,我们需要创建一个全局异常处理器。Spring Boot 提供了 @ControllerAdvice 注解来实现全局异常处理。

import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.context.request.WebRequest;@ControllerAdvice
public class GlobalExceptionHandler {@ExceptionHandler(BusinessException.class)public ResponseEntity<ErrorResponse> handleBusinessException(BusinessException ex, WebRequest request) {ErrorResponse errorResponse = new ErrorResponse(ex.getErrorCode(), ex.getMessage());return new ResponseEntity<>(errorResponse, HttpStatus.BAD_REQUEST);}@ExceptionHandler(Exception.class)public ResponseEntity<ErrorResponse> handleAllExceptions(Exception ex, WebRequest request) {ErrorResponse errorResponse = new ErrorResponse(500, "Internal Server Error");return new ResponseEntity<>(errorResponse, HttpStatus.INTERNAL_SERVER_ERROR);}
}

创建ErrorResponse类

为了统一返回错误信息,我们可以创建一个 ErrorResponse 类。

public class ErrorResponse {private int errorCode;private String errorMessage;public ErrorResponse(int errorCode, String errorMessage) {this.errorCode = errorCode;this.errorMessage = errorMessage;}// Getters and Setters
}

在业务逻辑中使用BusinessException

现在,我们可以在业务逻辑中使用 BusinessException 来处理业务错误。下面是一个示例控制器,演示如何在业务逻辑中抛出 BusinessException

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;@RestController
@RequestMapping("/api")
public class SampleController {@GetMapping("/test")public String testEndpoint() {// Simulate a business logic errorif (true) { // Replace with actual conditionthrow new BusinessException(1001, "Business logic error occurred");}return "Success";}
}

测试全局异常处理

为了测试我们的全局异常处理,我们可以编写一个简单的单元测试。

import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest;
import org.springframework.test.web.servlet.MockMvc;import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;@WebMvcTest(SampleController.class)
public class SampleControllerTest {@Autowiredprivate MockMvc mockMvc;@Testpublic void testBusinessException() throws Exception {mockMvc.perform(get("/api/test")).andExpect(status().isBadRequest()).andExpect(jsonPath("$.errorCode").value(1001)).andExpect(jsonPath("$.errorMessage").value("Business logic error occurred"));}
}

结论

通过本文的介绍,我们了解了如何在Spring Boot中设置全局的 BusinessException。这种统一的异常处理机制不仅可以提高代码的可读性和维护性,还能为用户提供更友好的错误信息。

在实际项目中,你可能需要根据具体需求对 BusinessException 和全局异常处理器进行进一步的扩展和优化。比如,添加更多的异常类型处理、记录日志、集成监控系统等。总之,良好的异常处理机制是构建高质量软件系统的重要一环。

http://www.15wanjia.com/news/190164.html

相关文章:

  • wordpress网站自动伪原创今天时事新闻
  • vps搭建网站是什么意思常德市建设工程造价网站
  • 开网站建设公司挣钱吗桂林市区有什么好玩的地方景点
  • 资源网站优化排名优化给新公司建网站
  • 网站建设的一般步骤包含哪些上海欣扬集团 网站建设
  • 网站建设分金手指专业十花桥网站制作
  • 福建网站建设价格网站建设合同 域名
  • 广州专业网站建设报价vip广告网站建设
  • 网站优化推广外包高级搜索引擎
  • 常用来做网站的首页免费搭建个人网站的3种实用方法
  • 什邡门户网站wordpress 推送 微信
  • 郴州网站建设公司简介耒阳住房与建设局网站
  • dede如何手机网站和电脑网站的数据同步更新网络建设规范和网络维护管理规范属于选择题
  • 免费送衣服在哪个网站做wordpress改为直接填写密码
  • 第一站长网网站集约化平台
  • 互联网网站建设 选择题网站后台不能添加内容
  • 济南网站建设与优化徐州市建设监理协会网站
  • 安徽元鼎建设工程 网站微信小程序的推广方式
  • 通用精品课程网站建设的需求分析宁波象山网站建设
  • wordpress怎么防站珠海网站设计
  • 常用wordpress搭建环境太原百度seo排名
  • 企业营销网站建设公司软件开发软件定制
  • 如何做优化网站的原创性文章政协门户网站建设方案
  • 制作一个自适应网站源码品牌建设的内容有哪些
  • 网站创建费用wordpress 图书馆主题
  • 电脑游戏网站平台大全wordpress添加文章时可以上传视频
  • 网站建设项目的生命周期深圳建业公司怎么样
  • 网站登录账号密码保存开发公司总经理专业知识及能力
  • 潮阳建设局网站我自己的网站
  • 优速网站建设工作室我有产品想找平台卖