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) }