阶段5 3.微服务项目【学成在线】_day03 CMS页面管理开发_14-异常处理-异常处理的问题分析
这块代码没有异常处理。如果在Service出现了异常代码,在哪里捕获?要么在Servive内捕获,要么在调用service的地方也就是controller内捕获
每个调用service的地方都要去捕获。代码冗余性非常差,每个地方都需要加try catch
快捷键 Ctrl+Alt+T快捷键
存在的问题
1.统一的地方去捕获异常,
2.添加失败,要告诉用户具体的失败原因。
问题:
1、上边的代码只要操作不成功仅向用户返回“错误代码:11111,失败信息:操作失败”,无法区别具体的错误信
息。
2、service方法在执行过程出现异常在哪捕获?在service中需要都加try/catch,如果在controller也需要添加
try/catch,代码冗余严重且不易维护。
解决方案:
1、在Service方法中的编码顺序是先校验判断,有问题则抛出具体的异常信息,最后执行具体的业务操作,返回成
功信息。
2、在统一异常处理类中去捕获异常,无需controller捕获异常,向用户返回统一规范的响应信息。
页面已经存在,那么抛出异常,捕获到这个异常就会返回给客户端
代码先判断各类异常,等各类异常都判断完了,再正常的去处理请求。
默认就要先判断传入的参数,是否有值。然后互抛出异常
建立统一的异常处理类