错误提示有问题
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
package errors
|
||||
|
||||
import (
|
||||
stderrors "errors"
|
||||
"runtime/debug"
|
||||
"time"
|
||||
|
||||
@@ -51,12 +52,14 @@ func handleError(c *fiber.Ctx, err error, logger *zap.Logger) error {
|
||||
var message string
|
||||
var httpStatus int
|
||||
|
||||
switch e := err.(type) {
|
||||
case *AppError:
|
||||
var appErr *AppError
|
||||
var fiberErr *fiber.Error
|
||||
switch {
|
||||
case stderrors.As(err, &appErr):
|
||||
// 应用自定义错误
|
||||
code = e.Code
|
||||
message = e.Message
|
||||
httpStatus = GetHTTPStatus(e.Code)
|
||||
code = appErr.Code
|
||||
message = appErr.Message
|
||||
httpStatus = GetHTTPStatus(appErr.Code)
|
||||
|
||||
// 记录错误日志(包含完整上下文)
|
||||
logFields := append(errCtx.ToLogFields(),
|
||||
@@ -74,16 +77,16 @@ func handleError(c *fiber.Ctx, err error, logger *zap.Logger) error {
|
||||
safeLogWithLevel(logger, "warn", "客户端错误", logFields...)
|
||||
}
|
||||
|
||||
case *fiber.Error:
|
||||
case stderrors.As(err, &fiberErr):
|
||||
// Fiber 框架错误
|
||||
httpStatus = e.Code
|
||||
httpStatus = fiberErr.Code
|
||||
code = mapHTTPStatusToCode(httpStatus)
|
||||
message = GetMessage(code, "zh")
|
||||
|
||||
safeLog(logger, "Fiber 框架错误",
|
||||
append(errCtx.ToLogFields(),
|
||||
zap.Int("http_status", httpStatus),
|
||||
zap.String("fiber_message", e.Message),
|
||||
zap.String("fiber_message", fiberErr.Message),
|
||||
)...,
|
||||
)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user