后端——全局异常处理

一、老办法try-catch

当我们执行一些错误操作导致程序报错时,程序会捕捉到异常报错,这个异常会存在一个Exception对象里

那我们在spring boot工程开发时,当我们执行一个sql查询时报错了,那就会从最底层的Mapper层捕捉到Exception异常,然后一路往Service、Controller传出去

那么学过java的应该知道,怎么才能捕捉到这个Exception异常并显示?就得用【try-catch】

那不是说你在mapper层写了一个【try-catch】、或者只在Controller写了【try-catch】就能返回出去Excrption异常对象的,肯定全都要写【try-catch】才能一路传上去,这太麻烦了

二、新办法:全局捕获异常

那我们可以设置一个【全局异常处理器】,来检测到所有异常,然后根据指定的要显示的异常类型来全局显示异常

写法很简单:

用法:

就是多加一个【exception】包,专门放捕获异常的类,然后创建一个捕获异常的类

代码:

package com.czm.tliaswebmanagement.exception;

import com.czm.tliaswebmanagement.pojo.Result;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestControllerAdvice;

/**
 * 全局异常处理器
 */
@RestControllerAdvice //标记这是一个全局异常捕获类
public class GlobalExceptionHandler {
    
    //指定不获的是什么异常类型,Exception.class就是全局异常类型
    @ExceptionHandler(Exception.class)
    public Result ex(Exception ex){
        ex.printStackTrace();
        return Result.error("操作失败,请联系管理员");
    }
}

因为比较简单,我就不详细解释了

相关推荐

  1. 异常处理:全局异常处理器

    2024-07-10 07:08:03       29 阅读
  2. SpringBoot 统一返回格式、处理全局异常

    2024-07-10 07:08:03       23 阅读
  3. flask实践02-全局Response返回和异常处理

    2024-07-10 07:08:03       17 阅读
  4. WPF 全局异常处理

    2024-07-10 07:08:03       45 阅读
  5. Spring全局异常处理

    2024-07-10 07:08:03       41 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-10 07:08:03       4 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-10 07:08:03       5 阅读
  3. 在Django里面运行非项目文件

    2024-07-10 07:08:03       4 阅读
  4. Python语言-面向对象

    2024-07-10 07:08:03       4 阅读

热门阅读

  1. YModem在Android上的实现

    2024-07-10 07:08:03       7 阅读
  2. Selenium 切换窗口

    2024-07-10 07:08:03       7 阅读
  3. PCA和PCoA分析的python代码

    2024-07-10 07:08:03       7 阅读
  4. 24/07/09数据结构(3.1206)数组OJ单链表实现

    2024-07-10 07:08:03       7 阅读
  5. [Flutter] Android Studio pub get 不起作用

    2024-07-10 07:08:03       11 阅读
  6. PHP数据结构之队列

    2024-07-10 07:08:03       8 阅读
  7. C++ override specifier (C++ override 说明符)

    2024-07-10 07:08:03       9 阅读
  8. 兼容问题---ios底部的安全距离css设置

    2024-07-10 07:08:03       9 阅读