修复套餐创建事务回滚失败问题;修复 http dump 未根据环境配置打印问题;简化通道分配时计时输出
This commit is contained in:
24
web/error.go
24
web/error.go
@@ -2,6 +2,7 @@ package web
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"gorm.io/gorm"
|
||||
"log/slog"
|
||||
"platform/web/core"
|
||||
"reflect"
|
||||
@@ -11,20 +12,29 @@ import (
|
||||
|
||||
func ErrorHandler(c *fiber.Ctx, err error) error {
|
||||
|
||||
var code int
|
||||
var message string
|
||||
var code = fiber.StatusInternalServerError
|
||||
var message = "服务器异常"
|
||||
|
||||
var fiberErr *fiber.Error
|
||||
var serviceErr *core.ServiceErr
|
||||
if errors.As(err, &fiberErr) {
|
||||
|
||||
switch {
|
||||
|
||||
// fiber 错误
|
||||
case errors.As(err, &fiberErr):
|
||||
code = fiberErr.Code
|
||||
message = fiberErr.Message
|
||||
} else if errors.As(err, &serviceErr) {
|
||||
|
||||
// 服务错误
|
||||
case errors.As(err, &serviceErr):
|
||||
code = serviceErr.Code()
|
||||
message = serviceErr.Error()
|
||||
} else {
|
||||
code = fiber.StatusInternalServerError
|
||||
message = "服务器异常"
|
||||
|
||||
// gorm 错误,忽略
|
||||
case errors.Is(err, gorm.ErrForeignKeyViolated):
|
||||
|
||||
// 所有未手动声明的错误类型
|
||||
default:
|
||||
slog.Debug("未处理的异常", slog.String("type", reflect.TypeOf(err).Name()), slog.String("error", err.Error()))
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user