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

英文网站常用字体百度开店怎么收费

英文网站常用字体,百度开店怎么收费,佛山定制网站建设,房地产市场调研报告文章目录 前言一、认识注解:RestControllerAdvice和ExceptionHandler二、使用步骤1、封装统一返回结果类2、自定义异常类封装3、定义全局异常处理类4、测试 总结 前言 全局异常处理器是一种 🌟✨机制,用于处理应用程序中发生的异常&#xff…

文章目录

  • 前言
  • 一、认识注解:@RestControllerAdvice和@ExceptionHandler
  • 二、使用步骤
    • 1、封装统一返回结果类
    • 2、自定义异常类封装
    • 3、定义全局异常处理类
    • 4、测试
  • 总结


前言

全局异常处理器是一种 🌟✨机制,用于处理应用程序中发生的异常,无论这些异常在哪个部分发生。它可以拦截和处理整个应用程序范围内的异常,从而实现统一的异常处理逻辑。😊
在一个应用程序中,可能会有多个控制器处理不同的请求。当这些控制器中抛出异常时,可以使用全局异常处理器来捕获和处理这些异常,而不是在每个控制器中单独处理。⚡💪
全局异常处理器通常在应用程序的顶层进行定义,以确保能够拦截所有的异常。它可以捕获和处理各种类型的异常,包括应用程序自定义的异常、系统异常和未处理的异常。🎯🔍
使用全局异常处理器的好处包括:💡🎉
统一异常处理:全局异常处理器可以集中处理所有控制器中出现的异常,避免重复的异常处理代码,提高代码的可维护性和复用性。🙌
自定义异常响应:通过全局异常处理器,可以定义统一的异常响应格式和错误码,使异常的处理更加符合应用的需求。💼📊
防止泄露敏感信息:全局异常处理器可以捕获并处理未处理的异常,确保不会向客户端返回敏感信息,同时返回适当的异常信息。🔒🙅‍♂️
在Spring MVC中,可以使用@ControllerAdvice或@RestControllerAdvice注解来定义全局异常处理器类,并使用 @ExceptionHandler注解来定义处理特定异常的方法。这些方法可以在全局异常处理器类中进行集中管理,提供统一的异常处理逻辑。📚💻
希望这样的回答给你带来了一些乐趣和激励!如果你有其他问题,我会很乐意回答。😊🌈


一、认识注解:@RestControllerAdvice和@ExceptionHandler

当涉及到全局异常处理时,两个重要的注解被广泛使用:@RestControllerAdvice和@ExceptionHandler。
下面是对这两个注解的解释:
@RestControllerAdvice:
(这里插一句:如果你的应用程序使用传统的Web应用程序架构(使用视图解析器渲染视图),则可以使用@ControllerAdvice。而如果你的应用程序是RESTful风格的应用程序,需要直接返回JSON或其他格式的响应体,那么可以使用@RestControllerAdvice。)
@RestControllerAdvice是一个用于定义全局异常处理器的注解。通过将此注解应用于一个类上,该类可以成为一个全局异常处理器。在这个处理器中,你可以定义通用的异常处理逻辑,用于捕获和处理应用程序中的各种异常情况。
@RestControllerAdvice注解的主要作用是:
提供全局异常处理逻辑,捕获应用程序中未被处理的异常。
允许在多个控制器类中共享相同的异常处理逻辑。
可以组合使用其他注解,如@ExceptionHandler、@InitBinder和@ModelAttribute。
@ExceptionHandler:
@ExceptionHandler是一个用于定义特定异常处理方法的注解。通过将此注解应用于处理器类中的方法上,该方法可以被用于处理特定类型的异常。这样,当应用程序抛出匹配的异常时,该方法将被自动调用以处理该异常。
@ExceptionHandler注解的主要作用是:
定义特定异常的处理逻辑,捕获应用程序中抛出的特定类型的异常。
提供更精细的异常处理机制,根据不同的异常类型执行不同的处理代码。
可以在同一个全局异常处理器类中定义多个@ExceptionHandler方法,以处理不同类型的异常。

二、使用步骤

1、封装统一返回结果类

定义返回结果类:后端统一返回结果:


import lombok.Data;import java.io.Serializable;/*** 后端统一返回结果* @param <T>*/
@Data
public class Result<T> implements Serializable {private Integer code; //编码:1成功,0和其它数字为失败private String msg; //错误信息private T data; //数据public static <T> Result<T> success() {Result<T> result = new Result<T>();result.code = 1;return result;}public static <T> Result<T> success(T object) {Result<T> result = new Result<T>();result.data = object;result.code = 1;return result;}public static <T> Result<T> error(String msg) {Result result = new Result();result.msg = msg;result.code = 0;return result;}}

2、自定义异常类封装

封装自定义异常类,用于自定义异常抛出,根据实际情况对业务异常进行更细致和明确的拓展
先定义基础异常类:

/*** 业务异常*/
public class BaseException extends RuntimeException {public BaseException() {}public BaseException(String msg) {super(msg);}}

再定义自定义异常类:


public class UserNotLoginException extends BaseException {public UserNotLoginException() {}public UserNotLoginException(String msg) {super(msg);}}

3、定义全局异常处理类

统一捕获异常:


import com.example.result.Result;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestControllerAdvice;@RestControllerAdvice
public class GlobalExceptionHandler {/*** 捕获业务异常*/@ExceptionHandlerpublic Result<?> exceptionHandler(BaseException ex){return Result.error(ex.getMessage());}/*** 捕获除数为0异常*/@ExceptionHandlerpublic Result<?> exceptionHandler(ArithmeticException ex){return Result.error("分母不能为0");}/*** 根据异常类型和业务需求,以以下格式继续完善代码*/
}

根据异常类型和业务需求,可以以以下格式继续完善代码:

 @ExceptionHandlerpublic Result<?> exceptionHandler(异常类型 ex){return Result.error("异常类型信息");}

4、测试

import com.example.result.Result;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RestController;@RestController
public class webTest {/*** 测试捕获业务异常*/@GetMapping("/aa/{id}")public Result<?> aa(@PathVariable Long id){if(id<2)throw new UserNotLoginException("密码错误");return Result.success("成功");}/*** 测试捕获除数为0异常*/@GetMapping("/bb")public Result<?> bb(){int a = 1/0;return Result.success("成功");}

在这里插入图片描述
在这里插入图片描述
通过以上测试,产生的异常都被全局异常处理器捕获了!!搞定!!!

总结

@作者:加辣椒了吗?
简介:憨批大学生一枚,喜欢在博客上记录自己的学习心得,也希望能够帮助到你们!
在这里插入图片描述

http://www.hkea.cn/news/716495/

相关文章:

  • 莱芜都市人才网上海网站seo公司
  • 广州做鞋的网站怎么让某个关键词排名上去
  • 温州平阳县网站建设兼职东莞网络推广哪家公司奿
  • 做单页网站价格微信朋友圈广告在哪里做
  • 濮阳家电网站建设一般开车用什么导航最好
  • html5 图片展示网站大作设计网站
  • 河北正规网站建设比较百度一下你就知道官页
  • 企业网站建设哪家服务好福州网站关键词推广
  • 惠州悦商做网站软件开发一般需要多少钱
  • 做衣服外单网站优化大师官方正版下载
  • 专门做酒店的网站百度排行
  • 上海做手机网站建设盐城网站优化
  • html论坛模板东营seo整站优化
  • 天津网站建设582345网址导航桌面版
  • 东莞纸箱厂东莞网站建设经典模板网站建设
  • 贺州同城购物网站建设中国网站排名100
  • 黄骅港旅游景点爱站网seo工具包
  • 网站 图文混编提高网站搜索排名
  • 北京怀柔网站制作教育机构
  • 网站建设费 大创友链交换平台
  • o2o商城网站系统开发微信群拉人的营销方法
  • 帝国cms做淘宝客网站网页设计用什么软件
  • 营销型网站建设的优缺点视频优化软件
  • 珠海响应式网站建设推广公司网络营销发展方案策划书
  • 中国人自己的空间站每日英语新闻
  • 教师可以做网站吗seo常用工具包括
  • 武山建设局网站什么是seo
  • 做文案需要用到的网站全网模板建站系统
  • 苏州乡村旅游网站建设策划书网站建设百度推广
  • 12380网站建设情况总结百度浏览器入口