首页 > 编程语言 >java中的全局异常处理和局部处理方法

java中的全局异常处理和局部处理方法

时间:2023-06-30 11:23:12浏览次数:42  
标签:java 处理 ex import 全局 异常 class Result

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

方案一:在所有Controller的所有方法中进行try…catch处理
缺点:代码臃肿(不推荐)

方案二:全局异常处理器
好处:简单、优雅(推荐)

2.方法:
1.添加类:GlobalExceptionHandler
2.添加注解:@RestControllerAdvice
3.添加异常处理方法:ex并给方法添加注解 @ExceptionHandler(Exception.class)//捕获所有异常
package com.alex.exception;

import com.alex.pojo.Result;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestControllerAdvice;
@Slf4j
@RestControllerAdvice
public class GlobalExceptionHandler {
@ExceptionHandler(Exception.class)//捕获所有异常
public Result ex(Exception ex){
ex.printStackTrace();
log.info("has error:{}",ex);
return Result.error("对不起,操作失败,请联系管理员");
}
}

标签:java,处理,ex,import,全局,异常,class,Result
From: https://www.cnblogs.com/chenshaojun2008/p/17516144.html

相关文章

  • Java 必会10大的经典算法
    Java必会10大的经典算法 https://github.com/hustcc/JS-Sorting-Algorithm冒泡排序:思路-两层循环;外层循环控制比较的轮数,内层循环控制每一轮的比较和交换。在每一轮中,通过比较相邻的两个元素,如果前一个元素大于后一个元素,则交换它们的位置。经过多轮的比较和交换,......
  • JAVA-去掉小数点后面多余的0
    @TestpublicvoidTestCompare(){//JAVA中Float类型的小数超过4位(前面都是0,例如0.0001)会转成科学计数法存储Floatf=0.0001F;//转BigDecimal的时候避免精度丢失,先转成String类型StringfStr=Float.toString(f);......
  • 处理HTTPGET请求参数中含有数组不识别的问题处理
    如:  在Program中增加 ......
  • JavaScript 教程
    JavaScript是Web的编程语言。所有现代的HTML页面都可以使用JavaScript。JavaScript非常容易学。本教程将教你学习从初级到高级JavaScript知识。 为什么学习JavaScript?JavaScript是web开发人员必须学习的3门语言中的一门:HTML 定义了网页的内容CSS 描述......
  • Java数据类型转换,字符串(String)转日期(Date)
    Java类型转换,字符串(String)转日期(Date)importjava.text.ParseException;importjava.text.SimpleDateFormat;importjava.util.Date;publicclassDateTimeConversion{publicstaticvoidmain(String[]args){StringdateString="2011-07-2800:00:00......
  • Java解析json数据(fastjson2)
    Json数据JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式。它以易于阅读和编写的方式来表示结构化数据,常用于在不同系统之间进行数据交互和传输。JSON使用键值对的方式来组织数据,具有以下几个特点:具有简洁的语法:JSON使用了人类可读的文本格式,易于理解和编写。支持......
  • Java线程实现方式
    在Java中,可以通过以下几种方式实现线程:继承Thread类:可以创建一个继承自Thread类的子类,并重写run()方法,在run()方法中定义线程的执行逻辑。然后通过创建该子类的实例,并调用start()方法来启动线程。publicclassMyThreadextendsThread{@Overridepublicvoidrun()......
  • Java微服务
    微服务技术服务架构的发展单体架构:将所有的功能都集成在一个项目里面开发,打成一个包部署优点:架构简单,部署成本低缺点:耦合度高分布式架构:根据业务功能对系统进行拆分,将每个业务模块作为独立项目开发,称为一个服务优点:降低服务耦合度,利于服务的升级和扩展微服务是一种经过良好......
  • U8生产组件不做领料及成本核算的处理方式
    1种处理方式.在生产订单管理中将领料标识改为否,但这种方式依然会有成本核算 2.在物料基础档案中,将物料变更为虚拟物料来进行处理,这种试为虚拟件,不参成本核算,仅提供物料阶层标识,注意,这种如果物料为中途变更,之前BOM中物料依然是原属性,需要手动修改。 ......
  • Java 设计模式实战系列—工厂模式
    在Java开发中,对象的创建是一个常见的场景,如果对象的创建和使用都写在一起,代码的耦合度高,也不利于后期的维护。我们可以使用工厂模式来解决这个问题,工厂模式是一个创建型模式,将对象的创建和使用分离开来,降低代码的耦合度,提高程序的可维护性和扩展性。工厂模式应用场景调用方......