Springboot全局异常处理,局部异常处理代码
时间: 2024-03-20 22:15:54 浏览: 76
SpringBoot全局异常处理可以通过实现@ControllerAdvice注解的类来实现。在该类中,可以添加@ExceptionHandler来处理不同类型的异常,例如:
```java
@ControllerAdvice
public class GlobalExceptionHandler {
@ResponseBody
@ExceptionHandler(value = Exception.class)
public Result handleException(Exception e){
//处理异常逻辑
return Result.error("服务器异常,请稍后再试!");
}
}
```
上述代码中,通过@ControllerAdvice注解将GlobalExceptionHandler类声明为全局异常处理类,在handleException()方法中通过@ExceptionHandler注解来捕获所有类型的异常,并将异常信息封装到Result对象中返回给前端。
对于局部异常处理,可以在Controller类中通过@ExceptionHandler注解来处理该Controller中的异常,例如:
```java
@RestController
@RequestMapping("/user")
public class UserController {
//省略其他方法...
@ExceptionHandler(value = UserNotFoundException.class)
public Result handleUserNotFoundException(UserNotFoundException e){
//处理用户不存在异常逻辑
return Result.error(e.getMessage());
}
}
```
上述代码中,通过@ExceptionHandler来处理用户不存在异常(UserNotFoundException),并将处理结果封装到Result对象中返回给前端。
阅读全文