Files
workspace/code/allapp/allapp-go/utils/errorx/errorx.go
T
2026-01-13 22:18:01 +08:00

30 lines
624 B
Go

package errorx
import (
"database/sql"
"github.com/cloudwego/hertz/pkg/app"
"github.com/jackc/pgx/v5"
"github.com/pkg/errors"
)
// Wrap 包装 error,附加调用栈
func Wrap(err error) error {
if err == nil {
return nil
}
return errors.WithStack(err)
}
// AddError 简化版,自动 wrap 并注册到 ctx
func AddError(c *app.RequestContext, err error) {
if err == nil {
return
}
_ = c.Error(Wrap(err)) // 自动 wrap 并注册
}
// IsNotFound 判断 err 是否因为数据库中没找到数据
func IsNotFound(err error) bool {
return errors.Is(err, sql.ErrNoRows) || errors.Is(err, pgx.ErrNoRows)
}