SpringBoot创建全局异常处理器,完整代码,和使用方法示例
时间: 2024-09-10 22:10:51 浏览: 55
SpringBoot中创建全局异常处理器通常使用@ControllerAdvice和@ExceptionHandler注解来实现。以下是一个简单的全局异常处理器的示例代码:
```java
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseBody;
@ControllerAdvice
public class GlobalExceptionHandler {
@ResponseBody
@ExceptionHandler(value = Exception.class)
public String handleException(Exception e) {
// 可以根据不同的异常类型来做不同的处理
// 例如,这里统一处理所有异常,返回异常信息的字符串
return e.getMessage();
}
// 如果要处理特定类型的异常,可以添加对应的方法
@ResponseBody
@ExceptionHandler(value = NullPointerException.class)
public String handleNullPointerException(NullPointerException e) {
// 处理空指针异常
return "发生了空指针异常,请检查代码逻辑!";
}
}
```
使用方法示例:
```java
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class TestController {
@GetMapping("/test")
public String test() {
// 模拟抛出异常
throw new NullPointerException("这里发生了空指针异常");
}
}
```
当访问`/test`接口时,会抛出`NullPointerException`异常,由`GlobalExceptionHandler`中的`handleNullPointerException`方法捕获,并返回自定义的异常信息。
阅读全文