update 新增sql执行全局异常
This commit is contained in:
@@ -1,16 +1,28 @@
|
||||
package com.m2pool.lease.exception;
|
||||
|
||||
import cn.hutool.json.JSONUtil;
|
||||
import com.m2pool.lease.dto.Result;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.core.Ordered;
|
||||
import org.springframework.core.annotation.Order;
|
||||
import org.springframework.jdbc.BadSqlGrammarException;
|
||||
import org.springframework.web.bind.annotation.ExceptionHandler;
|
||||
import org.springframework.web.bind.annotation.RestControllerAdvice;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.sql.SQLException;
|
||||
|
||||
/**
|
||||
* 全局异常处理器,用于捕获并处理应用中抛出的异常。
|
||||
*/
|
||||
@Order(Ordered.HIGHEST_PRECEDENCE)
|
||||
@RestControllerAdvice
|
||||
public class GlobalExceptionHandler {
|
||||
|
||||
|
||||
private static final Logger log = LoggerFactory.getLogger(GlobalExceptionHandler.class);
|
||||
|
||||
|
||||
/**
|
||||
* 处理商品已出售异常,返回统一的错误结果。
|
||||
*
|
||||
@@ -18,49 +30,67 @@ public class GlobalExceptionHandler {
|
||||
* @return 包含错误信息的统一结果对象
|
||||
*/
|
||||
@ExceptionHandler(ProductSoldOutException.class)
|
||||
public Result<String> handleProductSoldOutException(ProductSoldOutException e) {
|
||||
public Result<String> handleProductSoldOutException(ProductSoldOutException e, HttpServletRequest request) {
|
||||
return Result.fail(e.getMessage());
|
||||
}
|
||||
|
||||
@ExceptionHandler(MachineException.class)
|
||||
public Result<String> handleMachineException(MachineException e) {
|
||||
public Result<String> handleMachineException(MachineException e, HttpServletRequest request) {
|
||||
return Result.fail(e.getMessage());
|
||||
}
|
||||
|
||||
@ExceptionHandler(PaymentException.class)
|
||||
public Result<String> handlePaymentException(PaymentException e) {
|
||||
public Result<String> handlePaymentException(PaymentException e, HttpServletRequest request) {
|
||||
return Result.fail(e.getMessage());
|
||||
}
|
||||
|
||||
@ExceptionHandler(OrderException.class)
|
||||
public Result<String> handleOrderException(OrderException e) {
|
||||
public Result<String> handleOrderException(OrderException e, HttpServletRequest request) {
|
||||
return Result.fail(e.getMessage());
|
||||
}
|
||||
|
||||
@ExceptionHandler(PayRechargeException.class)
|
||||
public Result<String> handleOrderException(PayRechargeException e) {
|
||||
public Result<String> handleOrderException(PayRechargeException e, HttpServletRequest request) {
|
||||
return Result.fail(e.getMessage());
|
||||
}
|
||||
|
||||
@ExceptionHandler(RSAException.class)
|
||||
public Result<String> handleRSAException(RSAException e) {
|
||||
public Result<String> handleRSAException(RSAException e, HttpServletRequest request) {
|
||||
return Result.fail(e.getMessage());
|
||||
}
|
||||
|
||||
@ExceptionHandler(AuthException.class)
|
||||
public Result<String> handleAuthException(AuthException e) {
|
||||
public Result<String> handleAuthException(AuthException e, HttpServletRequest request) {
|
||||
return Result.fail(e.getMessage());
|
||||
}
|
||||
|
||||
|
||||
@ExceptionHandler(SQLException.class)
|
||||
public Result<String> handleSQLException(SQLException e, HttpServletRequest request)
|
||||
{
|
||||
String requestURI = request.getRequestURI();
|
||||
log.error("请求地址'{}',发生sql执行异常.", requestURI, e);
|
||||
return Result.fail("请求地址'{}',发生sql执行异常.");
|
||||
}
|
||||
|
||||
@ExceptionHandler(BadSqlGrammarException.class)
|
||||
public Result<String> handleBadSqlGrammarException(BadSqlGrammarException e, HttpServletRequest request)
|
||||
{
|
||||
String requestURI = request.getRequestURI();
|
||||
log.error("请求地址'{}',发生SQL异常.", requestURI, e);
|
||||
return Result.fail("数据库异常!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 处理其他未明确捕获的异常,返回统一的错误结果。
|
||||
*
|
||||
* @param e 异常对象
|
||||
* @return 包含错误信息的统一结果对象
|
||||
*/
|
||||
//@ExceptionHandler(Exception.class)
|
||||
//public Result<String> handleException(Exception e) {
|
||||
// System.out.println(e);
|
||||
// return Result.fail("系统异常,请稍后再试!");
|
||||
//}
|
||||
@ExceptionHandler(Exception.class)
|
||||
public Result<String> handleException(Exception e, HttpServletRequest request) {
|
||||
String requestURI = request.getRequestURI();
|
||||
log.error("请求地址'{}',发生系统异常.", requestURI,e);
|
||||
return Result.fail("系统异常,请稍后再试!");
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user