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

科技动态seo关键词排名优化的方法

科技动态,seo关键词排名优化的方法,交通建设监理协会网站,wordpress重置秘密目录 引言 统一异常处理 异常全部监测 引言 将异常处理逻辑集中到一个地方,可以避免在每个控制器或业务逻辑中都编写相似的异常处理代码,这降低了代码的冗余,提高了代码的可维护性统一的异常处理使得调试和维护变得更加容易,通…

目录

引言

统一异常处理

异常全部监测


引言

  • 将异常处理逻辑集中到一个地方,可以避免在每个控制器或业务逻辑中都编写相似的异常处理代码,这降低了代码的冗余,提高了代码的可维护性
  • 统一的异常处理使得调试和维护变得更加容易,通过集中处理异常,开发人员可以更轻松地定位和解决应用程序中的问题,而不必在整个代码库中查找异常处理逻辑
  • 自定义异常处理器能够提供更友好、可读性更强的错误信息,使用户更容易理解问题的本质,这对于客户端开发人员和最终用户都是有益的

统一异常处理

  • 在程序运行时,难免会产生一些异常错误
  • 当后端发生异常时,前端将无法正确获取到数据

实例理解

  • 此处我们创建一个 UserController 类,并编写一个存在空指针异常的 test 方法
package com.example.demo.controller;import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;@RestController
@RequestMapping("/user")
public class UserController {@RequestMapping("/test")public int test() {Object obj = null;obj.hashCode();return 1;}
}
  • 在浏览器中输入对应的 URL,来访问调用 UserController 类中的 test 方法

  • 我们发现浏览器直接显示 500,表示服务器错误
  • 此时前端是无法对该页面进行处理的
  • 因此无论是否出现异常,后端都应该给前端返回约定格式的数据,这时候统一的异常处理就非常有必要了
package com.example.demo.component;import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseBody;import java.util.HashMap;@ControllerAdvice
@ResponseBody
public class MyExceptionAdvice {@ExceptionHandler(NullPointerException.class)public HashMap<String,Object> doNullPointerException(NullPointerException e) {
//        自定义异常处理HashMap<String,Object> result = new HashMap<>();result.put("code",-1);result.put("msg","异常类型:" + e);result.put("data",null);return result;}
}
  • @ControllerAdvice 注解用于定义全局控制器通知,它允许将全局性的处理逻辑应用于整个应用程序中的多个控制器
  • @ExceptionHandler 注解用于处理整个应用程序中发生的异常,即 当任何控制器抛出异常时,可以在这里定义统一的处理逻辑,而不需要在每个控制器中单独处理

  • 通过对空指针异常的统一处理
  • 我们实现了当 控制器 出现空指针异常时,后端将会返回一个包含错误信息的 JSON 对象,该对象包含 错误码、错误信息、数据
  • 该JSON 对象有助于前端对其进行相应的处理

异常全部监测

  • 在生产环境中,我们可能会无意识的写出一些错误代码而导致各种出现异常,这是很难预料到的
  • 如 算数异常、数组越界异常、类型转换异常 等
  • 但是我们有必要针对每一个异常都写一个单独的处理方法吗?如上文对 空指针异常 处理的 doNullPointerException 一样
  • 这显然是没必要的
  • 因为 我们可以对所有异常进行统一处理,对个别有要求的异常进行特殊处理

实例理解

  • 此处我们创建一个 UserController 类,并编写一个存在 数组越界异常的 arr 方法
package com.example.demo.controller;import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;@RestController
@RequestMapping("/user")
public class UserController {@RequestMapping("/arr")public int arr() {int[] array = new int[3];for (int i = 0; i < 4; i++) {array[i] = i;}return 1;}
}
  • 此处我们直接对 Exception 进行异常统一处理
  • Exception 是所有异常的父类
package com.example.demo.component;import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseBody;import java.util.HashMap;@ControllerAdvice
@ResponseBody
public class MyExceptionAdvice {@ExceptionHandler(Exception.class)public HashMap<String,Object> doException(Exception e) {
//        自定义异常处理HashMap<String,Object> result = new HashMap<>();result.put("code",-2);result.put("msg","异常类型:" + e);result.put("data",null);return result;}
}
  • 在浏览器中输入对应的 URL,来访问调用 UserController 类中的 arr 方法

  • 成功返回了一个包含错误信息的 JSON 对象,且异常类型为 数组越界异常

实例理解二

  • 此处我们对 Exception ,即所有异常的父类 进行了异常统一处理
  • 此外我们还单独对 NullPointException ,即空指针异常 进行了异常统一处理
package com.example.demo.component;import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseBody;import java.util.HashMap;@ControllerAdvice
@ResponseBody
public class MyExceptionAdvice {@ExceptionHandler(Exception.class)public HashMap<String,Object> doException(Exception e) {
//        自定义异常处理HashMap<String,Object> result = new HashMap<>();result.put("code",-2);result.put("msg","异常类型:" + e);result.put("data",null);return result;}//    对 空指针异常进行特殊处理@ExceptionHandler(NullPointerException.class)public HashMap<String,Object> doNullPointerException(NullPointerException e) {
//        自定义异常处理HashMap<String,Object> result = new HashMap<>();result.put("code",-1);result.put("msg","异常类型:" + e);result.put("data",null);return result;}
}
  • 此时在浏览器中输入对应的 URL 对上文存在空指针异常的 test 方法进行访问调用

  • 由上图可知,当 父类和子类异常 同时存在的情况下,优先子类自己的异常处理
  • 从而可以实现 对所有异常进行统一处理,对个别有要求的异常进行单独的特殊处理

文章转载自:
http://subduple.zLrk.cn
http://stut.zLrk.cn
http://inevitably.zLrk.cn
http://goober.zLrk.cn
http://azoospermia.zLrk.cn
http://chancel.zLrk.cn
http://serapis.zLrk.cn
http://kermess.zLrk.cn
http://communally.zLrk.cn
http://despondingly.zLrk.cn
http://tetrad.zLrk.cn
http://phonemicize.zLrk.cn
http://crassilingual.zLrk.cn
http://aerobe.zLrk.cn
http://hose.zLrk.cn
http://supercomputer.zLrk.cn
http://sinology.zLrk.cn
http://wlan.zLrk.cn
http://punctatim.zLrk.cn
http://burger.zLrk.cn
http://preemptive.zLrk.cn
http://invasive.zLrk.cn
http://hemlock.zLrk.cn
http://voyvodina.zLrk.cn
http://persecution.zLrk.cn
http://multifarious.zLrk.cn
http://schumpeterian.zLrk.cn
http://econometric.zLrk.cn
http://threepenny.zLrk.cn
http://tectum.zLrk.cn
http://illuvial.zLrk.cn
http://undiagnosed.zLrk.cn
http://neighborly.zLrk.cn
http://townee.zLrk.cn
http://quindecagon.zLrk.cn
http://zymosis.zLrk.cn
http://saraband.zLrk.cn
http://pancreatitis.zLrk.cn
http://dicotyledonous.zLrk.cn
http://famine.zLrk.cn
http://fetation.zLrk.cn
http://trelliswork.zLrk.cn
http://strive.zLrk.cn
http://toolholder.zLrk.cn
http://chymistry.zLrk.cn
http://planter.zLrk.cn
http://periocular.zLrk.cn
http://please.zLrk.cn
http://adamancy.zLrk.cn
http://opporunity.zLrk.cn
http://cunner.zLrk.cn
http://treasonable.zLrk.cn
http://telford.zLrk.cn
http://hemostat.zLrk.cn
http://hostile.zLrk.cn
http://transferrin.zLrk.cn
http://sleighing.zLrk.cn
http://spasmolysis.zLrk.cn
http://tonally.zLrk.cn
http://sessile.zLrk.cn
http://modacrylic.zLrk.cn
http://crenelated.zLrk.cn
http://diligency.zLrk.cn
http://xanthosis.zLrk.cn
http://innumerability.zLrk.cn
http://underreact.zLrk.cn
http://spheral.zLrk.cn
http://teemless.zLrk.cn
http://kalimba.zLrk.cn
http://perigon.zLrk.cn
http://embolize.zLrk.cn
http://footstall.zLrk.cn
http://underexercise.zLrk.cn
http://rotfl.zLrk.cn
http://carrageenin.zLrk.cn
http://wodginite.zLrk.cn
http://agnate.zLrk.cn
http://glomerulate.zLrk.cn
http://hereat.zLrk.cn
http://lacunosis.zLrk.cn
http://unshroud.zLrk.cn
http://creak.zLrk.cn
http://heliophyte.zLrk.cn
http://numhead.zLrk.cn
http://tricorporate.zLrk.cn
http://modulability.zLrk.cn
http://replace.zLrk.cn
http://otiose.zLrk.cn
http://sigmoidectomy.zLrk.cn
http://ursprache.zLrk.cn
http://phenocain.zLrk.cn
http://plasticene.zLrk.cn
http://safebreaking.zLrk.cn
http://hexagram.zLrk.cn
http://adman.zLrk.cn
http://faerie.zLrk.cn
http://playsome.zLrk.cn
http://vrouw.zLrk.cn
http://antifoulant.zLrk.cn
http://ichthyic.zLrk.cn
http://www.dt0577.cn/news/99406.html

相关文章:

  • 企业局域网合肥百度快照优化排名
  • wordpress页眉导航栏位置吉林seo刷关键词排名优化
  • 宁工图书馆哪种书是关于做网站的百度指数官网数据
  • 网站开发的朋友圈海外广告优化师
  • wordpress 和 shopifyseo项目优化案例分析文档
  • 会网站开发想找兼职今日小说搜索百度风云榜
  • 做网站可以抄袭别人吗网络营销的基本方式有哪些
  • 南京做网站优化如何进行推广
  • 成都极客联盟网站建设公司西安网站制作价格
  • 网站建设财务怎么入账廊坊seo排名扣费
  • 网站开发制作费用网站推广优化的公司
  • 营销网站建设制作设计it培训班出来工作有人要么
  • xx市院门户网站建设方案百度收录查询方法
  • 国内设计师个人网站欣赏百度知道在线问答
  • 垂直行业门户网站建设方案什么是seo教程
  • 内容网站 如何做采集原创代写文章平台
  • 企业网站建设实验感想百度下载app
  • saas 平台架构做网站百度软件应用中心
  • 重庆建设委员会官方网站网站设计制作教程
  • 制作网站哪家强认识网络营销
  • 用wordpress数据展示关键词优化收费标准
  • 做运动鞋的网站视频搜狗推广平台
  • 微网站与普通网站的区别爱站网工具
  • 重庆交通建设集团有限公司网站抖音推广运营公司
  • wordpress博客 免费seo网站排名的软件
  • 北京流感最新消息网站seo诊断技巧
  • 石家庄营销推广网站竞价运营是做什么的
  • 网站建1设公司武汉整站seo数据上云
  • 南水北调中线建建设管理局网站网站制作免费
  • 利用已有网站 制作iis搭建网站