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

制作购物网站广告传媒有限公司

制作购物网站,广告传媒有限公司,wordpress全局阴影,营销推广的方案目录 异常 项目总结 新建一个SpringBoot项目 pom.xml Result#xff08;通用的响应结果类#xff09; MyBusinessException自定义异常类 GlobalExceptionHandler全局异常处理类 ExceptionController控制器 SpringbootExceptionApplication启动类 参考文章#xff1a…目录 异常 项目总结 新建一个SpringBoot项目 pom.xml Result通用的响应结果类 MyBusinessException自定义异常类 GlobalExceptionHandler全局异常处理类 ExceptionController控制器 SpringbootExceptionApplication启动类 参考文章 1、http://t.csdnimg.cn/wzes2 异常 SpringBoot项目采用了全局异常的概念——所有方法均将异常抛出并且专门安排一个类统一拦截并处理这些异常。对异常的处理 1、抛出异常2、使用 try...catch...finally 捕获处理异常SpringBoot提供了两个注解用于拦截异常 1、ControllerAdvice标注该类为全局异常处理类默认拦截所有被触发的异常2、ExceptionHandler标注方法用于处理特定异常 异常的分类 java.lang.Throwable所有异常类的根类 java.lang.Error 错误信息 由Java虚拟机生成并抛出这类错误一般不处理java.lang.Exception异常信息StackOverFlowError栈空间溢出错误 检查期异常 在方法上固定存在的如果调用了该方法就必须处理此异常 java.lang.RuntimeException 运行时异常 OutOfMemoryError内存溢出错误java.io.IOExceptionI/O异常java.lang.NullPointerException空指针异常IllegalAccessError非法的访问权限错误java.io.FileNotFoundException文件找不到异常 java.lang.IndexOutOfBoundsException 和 java.lang.ArrayIndexOutOfBoundsException数组越界异常 NoClassDefFoundErrorJVM未找到类错误java.io.ClassNotFoundException类找不到异常java.lang.IllegalArgumentException非法参数异常NoSuchMethodErrorJVM未找到方法错误java.lang.SecurityException安全异常java.util.ConcurrentModificationException修改状态异常 项目总结 统一异常处理通过ControllerAdvice注解向控制器发送通知并接收所有Controller层的通知再结合ExceptionHandler注解对指定的异常进行捕获处理最后将结果返回给用户 新建一个SpringBoot项目 项目结构 pom.xml ?xml version1.0 encodingUTF-8? project xmlnshttp://maven.apache.org/POM/4.0.0 xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersionparentgroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-parent/artifactIdversion2.3.12.RELEASE/versionrelativePath/ !-- lookup parent from repository --/parentgroupIdcom.study/groupIdartifactIdspringboot_exception/artifactIdversion0.0.1-SNAPSHOT/versionnamespringboot_exception/namedescriptionDemo project for Spring Boot/descriptionpropertiesjava.version8/java.version/propertiesdependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-test/artifactIdscopetest/scope/dependencydependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactId/dependency/dependenciesbuildpluginsplugingroupIdorg.springframework.boot/groupIdartifactIdspring-boot-maven-plugin/artifactId/plugin/plugins/build/projectResult通用的响应结果类 Result类的作用 统一的响应格式提高接口的一致性和可维护性。封装错误信息当发生异常或错误时可以使用Result类来封装错误信息包括错误消息和对应的状态码便于客户端进行统一的处理和解析。携带业务数据除了错误信息Result类也可以携带业务数据例如查询结果、对象详情等从而完整地描述接口的执行结果。 package com.study.springboot_exception.event;import lombok.Data;Data public class ResultT {private String message;private int code;private T data; }MyBusinessException自定义异常类 package com.study.springboot_exception.exception;import lombok.Data;/*** 自定义异常类: 用于及时处理一些不符合业务逻辑的数据* 注意:* 1.必须继承RuntimeException运行时异常,并重写父类构造方法*/ Data public class MyBusinessException extends RuntimeException{private static final long serialVersionUID1L;private int code;private String message;public MyBusinessException(String message){super(message);this.messagemessage;}public MyBusinessException(int code,String message){super(message);this.codecode;this.messagemessage;}}GlobalExceptionHandler全局异常处理类 比较常见的错误状态 200正常响应400错误的请求404资源不存在500代码无法继续执行SpringBoot项目是Restful风格大多使用RestControllerAdvice注解 package com.study.springboot_exception.exception;import com.study.springboot_exception.event.Result; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.MethodArgumentNotValidException; import org.springframework.web.bind.MissingServletRequestParameterException; import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.bind.annotation.RestControllerAdvice;import java.util.StringJoiner;/*** 全局异常处理类*/ Slf4j RestControllerAdvice//标记该类为全局异常处理类 public class GlobalExceptionHandler {/*** 处理自定义异常*/ExceptionHandler(MyBusinessException.class)//处理特定异常public Result handleBizException(MyBusinessException ex){ResultObject resultnew Result();result.setCode(ex.getCode());result.setMessage(ex.getMessage());return result;}/*** 参数校验不通过异常*/ExceptionHandler(MethodArgumentNotValidException.class)public Result handleMethodArgumentNotValidException(MethodArgumentNotValidException ex){StringJoiner sjnew StringJoiner(;);ex.getBindingResult().getFieldErrors().forEach(x - sj.add(x.getDefaultMessage()));ResultObject resultnew Result();result.setCode(505);result.setMessage(sj.toString());return result;}/*** Controller参数绑定错误*/ExceptionHandler(MissingServletRequestParameterException.class)public Result handleMissingServletRequestParameterException(MissingServletRequestParameterException ex){ResultObject resultnew Result();result.setCode(506);result.setMessage(ex.getMessage());return result;}/*** 其他未知异常(拦截的是全局最底层异常,兜底)*/ExceptionHandler(valueException.class)public Result handleException(Exception ex){ResultObject resultnew Result();result.setCode(507);result.setMessage(服务器内部错误);return result;} }ExceptionController控制器 package com.study.springboot_exception.controller;import com.study.springboot_exception.event.Result; import com.study.springboot_exception.exception.MyBusinessException; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController;/*** 处理系统中可能出现的两种异常:产品空指针异常和自定义异常*/ RestController public class ExceptionController {/*** 系统内部错误*/GetMapping(/exception)public Result testException(){int i1/0;//该语句会触发算数异常,进入全局异常处理类,所以不会执行下面的语句ResultObject resultnew Result();result.setCode(200);result.setMessage(success);result.setData(cc);return result;}/*** 自定义异常*/GetMapping(/myException)public Result testMyException(){throw new MyBusinessException(508,自定义的异常);} }SpringbootExceptionApplication启动类 package com.study.springboot_exception;import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;SpringBootApplication public class SpringbootExceptionApplication {public static void main(String[] args) {SpringApplication.run(SpringbootExceptionApplication.class, args);}}启动项目 访问网址http://localhost:8080/exceptionint i1/0; 会触发算术异常在全局异常处理类中归属“其他未知异常”来进行处理 访问网址http://localhost:8080/myException触发自定义异常
http://www.w-s-a.com/news/11508/

相关文章:

  • 网站建设设计作业网站备案渝
  • 中国重庆网站建设福州短视频seo获客
  • 遵义官网网站建设网站移动端开发公司
  • 宜春网站推广优化电子商务网站建设收益举例
  • 游戏网站开发实验报告装修平台哪家好
  • 外贸自己建网站小红门网站建设
  • 中国著名的做网站渗透设计规范网站
  • 公司网站备案多少钱推特最新消息今天
  • 网站关键词设置代码seo搜索优化 指数
  • 做网站卖东西送上门做暧暧xoxo网站
  • 网站网站设计公司网站维护运营好做吗
  • 照片做成视频的软件seo两个域名一个网站有影响吗
  • 制作动画的网站河南省住房城乡建设门户网站
  • 网站推广原则做网站的那个语言好
  • 潍坊网站建设怎样商品网站建设设计思路
  • 建网站公司是如何赚钱南昌营销网站公司哪家好
  • 淘宝客网站管理质量好网站建设费用
  • 网站建设教程搭建青岛中企动力做网站怎么样
  • wordpress最底部网站优化怎么弄
  • 二手市场网站建设的目的长沙ui设计公司
  • 微信公众号做留言网站wordpress详情页选择模板
  • php网站开发面向对象教程如何做分享赚钱的网站
  • 山东网站建设最便宜常州网站建站公司
  • 网站地图 seo中国建设招标网是私人网站吗
  • 高中作文网站全网营销有哪些平台
  • 网站构建建设制作平台上海搬家公司收费价目表
  • 成功案例展示网站做网站赚多少钱
  • 建设银行网站用什么字体网站建站后维护需要做哪些
  • 有哪些做平面设计好素材网站有哪些开网站建设
  • 国际交流网站平台有哪些筑建网