温馨提示×

springboot全局异常处理代码怎么写

小亿
84
2024-01-11 23:40:28
栏目: 编程语言

在Spring Boot中,可以通过编写一个全局异常处理器来处理应用程序中的所有异常。以下是一个示例代码,展示了如何实现全局异常处理。

首先,创建一个自定义的异常处理器类,实现@ControllerAdvice注解和@ExceptionHandler注解,这样Spring Boot就会将其识别为全局异常处理器。

@ControllerAdvice
public class GlobalExceptionHandler {

    @ExceptionHandler(Exception.class)
    public ResponseEntity<String> handleException(Exception e) {
        // 在这里编写异常处理逻辑
        // 可以根据具体的异常类型进行不同的处理
        // 返回自定义的错误消息或错误码
        return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body("Internal Server Error");
    }
}

handleException方法中,可以根据具体的异常类型进行不同的处理逻辑,并返回自定义的错误消息或错误码。

然后,在Spring Boot的主类中,添加@EnableWebMvc注解,以启用全局异常处理。

@SpringBootApplication
@EnableWebMvc
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

这样,当应用程序中抛出任何异常时,都会被全局异常处理器捕获并处理。

需要注意的是,全局异常处理器只能处理在Controller层抛出的异常,如果在Service层或其他地方抛出的异常需要进行处理,可以在对应的方法中使用try-catch块来处理异常,并返回自定义的错误消息或错误码。

0