首页 > 其他分享 >补获异常

补获异常

时间:2023-02-01 22:35:36浏览次数:29  
标签:web springframework ex org import 补获 异常

当我们在新增员工时输入的账号已经存在,由于employee表中对该字段加入了唯一约束,此时程序会抛出异常:


此时需要我们的程序进行异常捕获,通常有两种处理方式:
1、在Controller方法中加入try、catch进行异常捕获

2、使用异常处理器进行全局异常捕获

package com.po.reggie.common;

import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;

import java.sql.SQLIntegrityConstraintViolationException;

/**
 * 全局异常处理
 */
//有这两个注解的类都会被处理
@ControllerAdvice(annotations = {RestController.class, Controller.class})
@ResponseBody
@Slf4j
public class GlobalExceptionHandler {

    /**
     * 异常处理方法
     * @return
     */
    @ExceptionHandler(SQLIntegrityConstraintViolationException.class)
    public R<String> exceptionHandler(SQLIntegrityConstraintViolationException ex){
        log.error(ex.getMessage());

        if(ex.getMessage().contains("Duplicate entry")){
            String[] split = ex.getMessage().split(" ");
            String msg = split[2] + "已存在";
            return R.error(msg);
        }

        return R.error("未知错误");
    }



}

  

 

标签:web,springframework,ex,org,import,补获,异常
From: https://www.cnblogs.com/popopopopo/p/17084315.html

相关文章

  • Python之异常处理
    """异常处理包括异常捕获、抛异常和assertdate:2023-01-29"""#捕获异常try:1/0exceptZeroDivisionErrorase:print(e)#divisionbyzer......
  • 全局捕获异常信息[UncaughtExceptionHandler]
    实现系统提供的UncaughtExceptionHandler类importandroid.content.Context;importandroid.content.pm.PackageInfo;importandroid.content.pm.PackageManager;importand......
  • Java基础--异常处理
    摘要1.希望所有错误都可以在编译时期被发现,程序运行前排除错误,余下的在运行时解决.2.Java异常机制主要依赖于try、catch、finally、throw、throws五个关键字.异常处理机制......
  • await使用不当引发的异常
    1、异步方法不await引发异常向文件写入大量内容:因为WriteAllTextAsync是独占式写入,又不等待,都没写完就到下一行读,肯定占用进程报错!2、await等待了一个非异步的方法......
  • JUnit4测试方法异常抛出实例
    它用于测试由方法抛出的异常。importorg.junit.*;/***JUnitExpectedExceptionTest*@authoryiibai**/publicclassJunitTest2{ @Test(expected=Arithmeti......
  • WPF DispatcherUnhandledException 异常捕获最后的大门
    这里在界面按钮事件下除0测试,感觉软件还是退出了?///<summary>///App.xaml的交互逻辑///</summary>publicpartialclassApp:Application{protectedove......
  • 【Azure 应用服务】Python fastapi Function在Azure中遇见AttributeError异常(Attribut
    问题描述参考文档“UsingFastAPIFrameworkwithAzureFunctions”,使用FastAPI模块在Function中实现API请求。通过VSCode本地运行成功。但是部署到AzureFunction......
  • Redis缓存的主要异常及解决方案
    作者:京东物流陈昌浩1导读Redis是当前最流行的NoSQL数据库。Redis主要用来做缓存使用,在提高数据查询效率、保护数据库等方面起到了关键性的作用,很大程度上提高系统的性能......
  • python 中异常类型总结
    异常类型:异常名称描述BaseException       所有异常的基类SystemExit          解释器请求退出KeyboardInterrupt    用户中断......
  • python实战-基于正交实验(工具:allpairs)自动生成接口异常测试用例
    实现思路1.抓取api信息(目前公司用的swagger),uri、method、params、response,解析完成后写入excle2.读取抓取完毕的api信息,处理为allpairs所需要的ordereddict3.调用allpai......