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

网站备案证书下载失败域名有永久的吗

网站备案证书下载失败,域名有永久的吗,怎么通过域名访问网站,简约淘宝网站模板免费下载统一异常处理1. 说明2. 问题描述3. 异常处理器使用3.1 创建异常处理器类3.2 让程序抛出异常3.3 测试4. 项目异常处理方案4.1 异常分类4.2 异常解决方案4.3 异常解决方案的具体实现4.4 测试5. 总结1. 说明 \quad本篇文章是在文章SpringMVC#xff1a;SSM整合#xff08;Spring… 统一异常处理1. 说明2. 问题描述3. 异常处理器使用3.1 创建异常处理器类3.2 让程序抛出异常3.3 测试4. 项目异常处理方案4.1 异常分类4.2 异常解决方案4.3 异常解决方案的具体实现4.4 测试5. 总结1. 说明 \quad本篇文章是在文章SpringMVCSSM整合SpringMVCSpringMybatis案例9和SpringMVC统一封装结果10的基础上进行讲解的建议在读本篇文章之前建议预先了解这两篇文章。 2. 问题描述 前端接收到这个信息后和之前我们约定的格式(统一返回Result类)不一致这个问题该如何解决? 在解决问题之前我们先来看下异常的种类及出现异常的原因: 框架内部抛出的异常因使用不合规导致数据层抛出的异常因外部服务器故障导致例如服务器访问超时业务层抛出的异常因业务逻辑书写错误导致例如遍历业务书写操作导致索引异常等表现层抛出的异常因数据收集、校验等规则导致例如不匹配的数据类型间导致异常工具类抛出的异常因工具类书写不严谨不够健壮导致例如必要释放的连接长期未释放等 在开发的任何一个位置都有可能出现异常而且这些异常是不能避免的。所以我们就得将异常进行处理。 各个层级均出现异常异常处理代码书写在哪一层? 所有的异常均抛出到表现层进行处理 异常的种类很多表现层如何将所有的异常都处理到呢? 异常分类 表现层处理异常每个方法中单独书写代码书写量巨大且意义不强如何解决? AOP 3. 异常处理器使用 3.1 创建异常处理器类 在controller层下创建异常处理器类 // RestControllerAdvice用于标识当前类为REST风格对应的异常处理器 // ControllerAdvice用于标识当前类为普通风格对应的异常处理器 RestControllerAdvice public class ProjectExceptionAdvice {// 除了自定义的异常处理器保留对Exception类型的异常处理用于处理非预期的异常ExceptionHandler(Exception.class)public void doException(Exception ex){System.out.println(出现异常。)} }3.2 让程序抛出异常 修改BookController的getById方法添加int i 1/0. GetMapping(/{id}) public Result getById(PathVariable Integer id) {int i 1/0;Book book bookService.getById(id);Integer code book ! null ? Code.GET_OK : Code.GET_ERR;String msg book ! null ? : 数据查询失败请重试;return new Result(code,book,msg); }3.3 测试 说明异常已经被拦截并执行了doException方法。 4. 项目异常处理方案 4.1 异常分类 因为异常的种类有很多如果每一个异常都对应一个ExceptionHandler那得写多少个方法来处理各自的异常所以我们在处理异常之前需要对异常进行一个分类: 业务异常BusinessException 规范的用户行为产生的异常 用户在页面输入内容的时候未按照指定格式进行数据填写如在年龄框输入的是字符串 不规范的用户行为操作产生的异常 如用户故意传递错误数据 系统异常SystemException 项目运行过程中可预计但无法避免的异常 比如数据库或服务器宕机 其他异常Exception 编程人员未预期到的异常如:用到的文件不存在 将异常分类以后针对不同类型的异常要提供具体的解决方案: 4.2 异常解决方案 业务异常BusinessException 发送对应消息传递给用户提醒规范操作 大家常见的就是提示用户名已存在或密码格式不正确等 系统异常SystemException 发送固定消息传递给用户安抚用户 系统繁忙请稍后再试系统正在维护升级请稍后再试系统出问题请联系系统管理员等 发送特定消息给运维人员提醒维护 可以发送短信、邮箱或者是公司内部通信软件 记录日志 发消息和记录日志对用户来说是不可见的属于后台程序 其他异常Exception 发送固定消息传递给用户安抚用户发送特定消息给编程人员提醒维护纳入预期范围内 一般是程序没有考虑全比如未做非空校验等 记录日志 4.3 异常解决方案的具体实现 思路: 先通过自定义异常完成BusinessException和SystemException的定义 将其他异常包装成自定义异常类型 在异常处理器类中对不同的异常进行处理 步骤一定义两个异常处理器 自定义系统异常处理器用于封装异常信息对异常进行分类 public class SystemException extends RuntimeException{private Integer code;public Integer getCode() {return code;}public void setCode(Integer code) {this.code code;}public SystemException(Integer code, String message) {super(message);this.code code;}public SystemException(Integer code, String message, Throwable cause) {super(message, cause);this.code code;}}自定义业务异常处理器用于封装异常信息对异常进行分类 public class BusinessException extends RuntimeException{private Integer code;public Integer getCode() {return code;}public void setCode(Integer code) {this.code code;}public BusinessException(Integer code, String message) {super(message);this.code code;}public BusinessException(Integer code, String message, Throwable cause) {super(message, cause);this.code code;} }说明: 让自定义异常类继承RuntimeException的好处是后期在抛出这两个异常的时候就不用在try…catch…或throws了自定义异常类中添加code属性的原因是为了更好的区分异常是来自哪个业务的 步骤2将其他异常包成自定义异常 public Book getById(Integer id) {//模拟业务异常包装成自定义异常if(id 15){throw new BusinessException(Code.BUSINESS_ERR,业务层出现异常);}//模拟系统异常将可能出现的异常进行包装转换成自定义异常try{int i 1/0;}catch (Exception e){throw new SystemException(Code.SYSTEM_TIMEOUT_ERR,服务器访问超时请重试!,e);}return bookDao.getById(id); }状态码Code类 // 状态码 public class Code {public static final Integer SAVE_OK 20011;public static final Integer SAVE_ERR 20010;public static final Integer DELETE_OK 20021;public static final Integer DELETE_ERR 20020;public static final Integer UPDATE_OK 20031;public static final Integer UPDATE_ERR 20030;public static final Integer GET_OK 20041;public static final Integer GET_ERR 20040;public static final Integer SYSTEM_ERR 50001;public static final Integer SYSTEM_TIMEOUT_ERR 60001;public static final Integer SYSTEM_UNKNOW_ERR 70001;public static final Integer BUSINESS_ERR 80001;}步骤3处理器类中处理自定义异常 package com.itheima.controller;import com.itheima.exception.BusinessException; import com.itheima.exception.SystemException; import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.bind.annotation.RestControllerAdvice;/*** Author Mr.Lu* Date 2023/2/11 9:36* ClassName ProjectExceptionAdvice* Version 1.0*/ // RestControllerAdvice用于标识当前类为REST风格对应的异常处理器 RestControllerAdvice public class ProjectExceptionAdvice {ExceptionHandler(BusinessException.class)public Result doBusinessException(BusinessException ex){return new Result(ex.getCode(), null, ex.getMessage());}ExceptionHandler(SystemException.class)public Result doSystemException(SystemException ex){// 记录日志// 发送消息给运维// 发送邮件给开发人员,ex对象发送给开发人员return new Result(ex.getCode(), null, ex.getMessage());}// 除了自定义的异常处理器保留对Exception类型的异常处理用于处理非预期的异常ExceptionHandler(Exception.class)public Result doOtherException(Exception ex){//记录日志//发送消息给运维//发送邮件给开发人员,ex对象发送给开发人员return new Result(8888,null, 系统繁忙请稍后再试);} } 4.4 测试 根据ID查询如果传入的参数为15会报BusinessException 如果传入的是其他参数会报SystemException 5. 总结 项目中的异常处理方式
http://www.w-s-a.com/news/123243/

相关文章:

  • 学ui+wordpress模板北京推广优化
  • 建分类网站得花多少钱深圳设计网站开发
  • 网站集群建设和网站集约化百度商桥怎么绑定网站
  • 青岛模板网站建设价格网络品牌网站建设
  • 网站建设的几大要素网站的做网站的公司
  • 怎么登陆自己的公司网站垂直电商网站建设
  • 温州微网站制作哪里有许昌网站建设哪家最好
  • 中国中小企业网站官网网页制作工具按其制作方式分 可以分为
  • 做资源下载网站违法吗河南企业做网站
  • 网站开发总体功能设计网站建设 北京昌平
  • 辽宁省高等级公路建设局网站书画院网站建设方案
  • 本地生活网站 源码重庆本地网站有哪些
  • 企业网站域名服务器国外html响应式网站
  • 东莞网站建设策划企业网站推广策划方法
  • 网站的图片怎么制作WordPress交互式网站
  • pc网站增加手机站什么专业学网页设计制作
  • 婚庆公司网站模板wordpress用什么框架
  • 高校网站建设的时效性长沙市网站建设
  • 合肥网站建设市场四川建设网官网住房和城乡厅官网官方
  • 天行健君子以自强不息网站建设江西网站做的好的企业文化
  • 建网站内容谷歌搜索引擎优化
  • 网站建设与管理案例教程第三版答案网站建设策划书范文六篇精选
  • 建设工程项目在哪个网站查询实时网站推广的最终目的是
  • 个人网站可以做淘客网站设置的参数
  • 自适应网站制作公司做室内设计通常上的网站
  • 网站建设项目采购公告建设网站公司建网页
  • 自己做网站怎么推广网站建设应该考虑哪些方面
  • 我做的网站手机上不了wordpress插件整站搬家
  • 河南省和建设厅网站首页西安找建网站公司
  • 网页设计基础代码网站进出成都最新通知