controller层抛异常到前端
时间: 2023-07-04 19:16:00 浏览: 152
[] - 2023-04-27 Controller层代码就该这么写,简洁又优雅!.pdf
在controller层抛出异常,可以使用Spring框架提供的@ControllerAdvice注解来实现全局异常处理。具体步骤如下:
1. 创建一个类,使用@ControllerAdvice注解标注,用于捕获异常并处理。
2. 在该类中编写异常处理方法,使用@ExceptionHandler注解标注,指定要捕获的异常类型。
3. 在异常处理方法中,可以根据需要进行异常处理,例如记录日志、返回错误信息等。
4. 在前端页面上使用ajax请求后端接口时,可以通过try-catch语句捕获异常,并将异常信息显示给用户。
下面是一个示例代码:
```java
@ControllerAdvice
public class GlobalExceptionHandler {
@ExceptionHandler(Exception.class)
public ResponseEntity<String> handleException(Exception e) {
// 记录日志
log.error("系统异常:", e);
// 返回错误信息
return new ResponseEntity<>(e.getMessage(), HttpStatus.INTERNAL_SERVER_ERROR);
}
}
```
在上述代码中,我们使用了Spring框架提供的ResponseEntity类来返回错误信息,并设置状态码为500。在前端页面上,可以通过以下方式获取异常信息:
```javascript
$.ajax({
url: "/api/test",
type: "POST",
dataType: "json",
success: function(data) {
// 处理成功返回的数据
},
error: function(jqXHR, textStatus, errorThrown) {
// 显示错误信息
alert(jqXHR.responseText);
}
});
```
在上述代码中,我们通过jqXHR对象的responseText属性获取到后台返回的错误信息,并将其显示给用户。
阅读全文