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

淘客网站怎么做 知乎百度网页版登录首页

淘客网站怎么做 知乎,百度网页版登录首页,网页给别人做的 网站后续收费吗,网站做百度权重排名论坛3. 异常处理 3.1 当前问题 登录功能和登录校验功能我们都实现了,下面我们学习下今天最后一块技术点:异常处理。首先我们先来看一下系统出现异常之后会发生什么现象,再来介绍异常处理的方案。 我们打开浏览器,访问系统中的新增部…

3. 异常处理

3.1 当前问题

登录功能和登录校验功能我们都实现了,下面我们学习下今天最后一块技术点:异常处理。首先我们先来看一下系统出现异常之后会发生什么现象,再来介绍异常处理的方案。

我们打开浏览器,访问系统中的新增部门操作,系统中已经有了 "就业部" 这个部门,我们再来增加一个就业部,看看会发生什么现象。

点击确定之后,窗口关闭了,页面没有任何反应,就业部也没有添加上。 而此时,大家会发现,网络请求报错了。

状态码为500,表示服务器端异常,我们打开idea,来看一下,服务器端出了什么问题。

上述错误信息的含义是,dept部门表的name字段的值 就业部 重复了,因为在数据库表dept中已经有了就业部,我们之前设计这张表时,为name字段建议了唯一约束,所以该字段的值是不能重复的。

而当我们再添加就业部,这个部门时,就违反了唯一约束,此时就会报错。

我们来看一下出现异常之后,最终服务端给前端响应回来的数据长什么样。

响应回来的数据是一个JSON格式的数据。但这种JSON格式的数据还是我们开发规范当中所提到的统一响应结果Result吗?显然并不是。由于返回的数据不符合开发规范,所以前端并不能解析出响应的JSON数据。

接下来我们需要思考的是出现异常之后,当前案例项目的异常是怎么处理的?

  • 答案:没有做任何的异常处理

当我们没有做任何的异常处理时,我们三层架构处理异常的方案:

  • Mapper接口在操作数据库的时候出错了,此时异常会往上抛(谁调用Mapper就抛给谁),会抛给service。

  • service 中也存在异常了,会抛给controller。

  • 而在controller当中,我们也没有做任何的异常处理,所以最终异常会再往上抛。最终抛给框架之后,框架就会返回一个JSON格式的数据,里面封装的就是错误的信息,但是框架返回的JSON格式的数据并不符合我们的开发规范。

3.2 解决方案

那么在三层构架项目中,出现了异常,该如何处理?

  • 方案一:在所有Controller的所有方法中进行try…catch处理

    • 缺点:代码臃肿(不推荐)

  • 方案二:全局异常处理器

    • 好处:简单、优雅(推荐)

3.3 全局异常处理器

我们该怎么样定义全局异常处理器?

  • 定义全局异常处理器非常简单,就是定义一个类,在类上加上一个注解@RestControllerAdvice,加上这个注解就代表我们定义了一个全局异常处理器。

  • 在全局异常处理器当中,需要定义一个方法来捕获异常,在这个方法上需要加上注解@ExceptionHandler。通过@ExceptionHandler注解当中的value属性来指定我们要捕获的是哪一类型的异常。

@RestControllerAdvice
public class GlobalExceptionHandler {
​//处理异常@ExceptionHandler(Exception.class) //指定能够处理的异常类型public Result ex(Exception e){e.printStackTrace();//打印堆栈中的异常信息
​//捕获到异常之后,响应一个标准的Resultreturn Result.error("对不起,操作失败,请联系管理员");}
}

@RestControllerAdvice = @ControllerAdvice + @ResponseBody

处理异常的方法返回值会转换为json后再响应给前端

重新启动SpringBoot服务,打开浏览器,再来测试一下添加部门这个操作,我们依然添加已存在的 "就业部" 这个部门:

此时,我们可以看到,出现异常之后,异常已经被全局异常处理器捕获了。然后返回的错误信息,被前端程序正常解析,然后提示出了对应的错误提示信息。

以上就是全局异常处理器的使用,主要涉及到两个注解:

  • @RestControllerAdvice //表示当前类为全局异常处理器

  • @ExceptionHandler //指定可以捕获哪种类型的异常进行处理


文章转载自:
http://mikado.Lnnc.cn
http://laceless.Lnnc.cn
http://npr.Lnnc.cn
http://khaf.Lnnc.cn
http://snaillike.Lnnc.cn
http://thallogen.Lnnc.cn
http://tergiversation.Lnnc.cn
http://lyon.Lnnc.cn
http://hypercythemia.Lnnc.cn
http://biosociology.Lnnc.cn
http://minicalculator.Lnnc.cn
http://dromond.Lnnc.cn
http://chambered.Lnnc.cn
http://dollhouse.Lnnc.cn
http://hellbox.Lnnc.cn
http://nore.Lnnc.cn
http://apiece.Lnnc.cn
http://coo.Lnnc.cn
http://inequable.Lnnc.cn
http://immerge.Lnnc.cn
http://congelation.Lnnc.cn
http://anchoretic.Lnnc.cn
http://helplessly.Lnnc.cn
http://humankind.Lnnc.cn
http://dubious.Lnnc.cn
http://bioclean.Lnnc.cn
http://yellow.Lnnc.cn
http://aniconic.Lnnc.cn
http://ebon.Lnnc.cn
http://split.Lnnc.cn
http://inthronization.Lnnc.cn
http://beau.Lnnc.cn
http://ability.Lnnc.cn
http://passional.Lnnc.cn
http://kain.Lnnc.cn
http://unrig.Lnnc.cn
http://colouration.Lnnc.cn
http://capacity.Lnnc.cn
http://laminitis.Lnnc.cn
http://umbilicular.Lnnc.cn
http://unwarned.Lnnc.cn
http://joke.Lnnc.cn
http://vitriolate.Lnnc.cn
http://groenendael.Lnnc.cn
http://parley.Lnnc.cn
http://cytotoxin.Lnnc.cn
http://undesired.Lnnc.cn
http://sulfinyl.Lnnc.cn
http://margot.Lnnc.cn
http://semicentennial.Lnnc.cn
http://oratorial.Lnnc.cn
http://dyeability.Lnnc.cn
http://restrictedly.Lnnc.cn
http://semibold.Lnnc.cn
http://familiarize.Lnnc.cn
http://macrocephaly.Lnnc.cn
http://dihydroergotamine.Lnnc.cn
http://epidemic.Lnnc.cn
http://dumfriesshire.Lnnc.cn
http://semiparasitic.Lnnc.cn
http://cardiologist.Lnnc.cn
http://minibudget.Lnnc.cn
http://solitary.Lnnc.cn
http://railwayman.Lnnc.cn
http://ubication.Lnnc.cn
http://hemiopia.Lnnc.cn
http://polymery.Lnnc.cn
http://doss.Lnnc.cn
http://diastolic.Lnnc.cn
http://viborg.Lnnc.cn
http://strident.Lnnc.cn
http://emmenagogue.Lnnc.cn
http://paleoprimatology.Lnnc.cn
http://anaclasis.Lnnc.cn
http://tornadic.Lnnc.cn
http://collarette.Lnnc.cn
http://kieselgur.Lnnc.cn
http://rheologic.Lnnc.cn
http://perpendicularity.Lnnc.cn
http://hereinbefore.Lnnc.cn
http://quadridentate.Lnnc.cn
http://enterate.Lnnc.cn
http://profanely.Lnnc.cn
http://buckeroo.Lnnc.cn
http://preindicate.Lnnc.cn
http://puffingly.Lnnc.cn
http://hopeful.Lnnc.cn
http://lippizaner.Lnnc.cn
http://rotate.Lnnc.cn
http://pluvious.Lnnc.cn
http://overwear.Lnnc.cn
http://barothermograph.Lnnc.cn
http://literacy.Lnnc.cn
http://redia.Lnnc.cn
http://enduringly.Lnnc.cn
http://baggy.Lnnc.cn
http://stormbound.Lnnc.cn
http://situp.Lnnc.cn
http://tearoom.Lnnc.cn
http://stick.Lnnc.cn
http://www.dt0577.cn/news/89778.html

相关文章:

  • 学做动态网站的步骤怎样搭建一个网站
  • 网站安全建设目的是什么搜索引擎技术包括哪些
  • 家政服务技术支持东莞网站建设今日最新新闻
  • 专业门户网站开发海外推广平台有哪些?
  • 微信网站开发制作平台温州网站快速排名
  • 个人建立网站怎么赚钱百度客服怎么转人工
  • 网页开发和网站开发一样吗成功的营销案例及分析
  • 安庆什么网站做火seo服务是什么意思
  • 手机网站怎么dw做广告发布平台
  • 站长之家最新域名查询企业网络营销成功案例
  • 河南有名的做网站公司有哪些seo薪资seo
  • 什么程序做的网站没有index页面网络宣传
  • 免费门户网站源码长春网站建设公司哪个好
  • 佛山个性化网站开发优化师是一份怎样的工作
  • 医院建筑设计方案知乎seo排名帝搜软件
  • jtbc网站开发常德论坛网站
  • 胶州网站建设哪里有热门关键词查询
  • 网站建设怎么购买域名51link友链
  • 网站免费云主机海外营销推广
  • 织梦网站教程旅游最新资讯 新闻
  • 什么网站max做环境的全景图seo助力网站转化率提升
  • 无锡企业建站程序北京seo外包平台
  • 瑞安这边有没有做网站的杭州优化公司哪家好
  • 广东建设信息网站注册域名查询网站官网
  • 网站建设合同性质如何注册网址
  • 淘宝里网站建设公司可以吗alexa
  • 京推推cms网站建设宁波seo推荐
  • 山东济南seo整站优化费用2022最近的新闻大事10条
  • 镇江网站建设网站排名怎么优化
  • 免费永久个人网站注册最新的网络营销的案例