V2EX rower
rower

rower

V2EX 第 501750 号会员,加入于 2020-07-31 14:07:20 +08:00
根据 rower 的设置,主题列表被隐藏
二手交易 相关的信息,包括已关闭的交易,不会被隐藏
rower 最近回复了
tg 建个群随便存,
278 天前
回复了 hello267015 创建的主题 分享发现 https://www.openai.fm/ 今天的乐子
这个帖子好,给我顶上去
281 天前
回复了 bushnerd 创建的主题 问与答 deepseek 开源的目的是什么?
我提供一种网络上的说法,大家都知道幻方是做量化的,之前被罚过,官方敲打量化交易对社会没有贡献,所以后面幻方给大学捐钱,什么贫困地区捐钱等等。接着就是开源了
不如这个
https://github.com/JOYCEQL/magic-resume
作者也在 V 站推广过,开源,界面也不错
至于 AI 这种,我直接问 deepseek 效果就非常好
2024-12-10 20:28:34 +08:00
回复了 aababc 创建的主题 程序员 golang 中 error 如何影响 log 和 api 状态
第二点,就是首先需要有自己的自定义错误类型,参考
https://github.com/ardanlabs/service6-video/tree/main/app/api/errs
然后每种错误对应的 http 状态码
参考
https://github.com/ardanlabs/service6-video/blob/main/api/http/api/mid/errors.go
的 init() 函数

最后在 Error 的中间件中对错误进行判断,如果是自定义错误,返回错误和对应的状态码,如果不是,返回 500
2024-12-10 20:19:30 +08:00
回复了 aababc 创建的主题 程序员 golang 中 error 如何影响 log 和 api 状态
第一个对于 web 的错误,比较好的做法是创建一个 Error 的中间件统一处理,在 gin 中,我的用法如下

func CreateUser(mobile string) (*User) {
exists, err := mobileExists(mobile)
if err != nil {
// 这个 c 是 gin 的 context ,一般 mobile 这个请求参数是从 c 获得的,这里忽略那些细节,记录错误就是 c.Error()
c.Error(err)
return nil
}
if exists {
c.Error(err)
return nil
}
// ...
}
// 中间件处理错误
func Errors(log *logger.Logger) gin.HandlerFunc {
return func(c *gin.Context) {

ctx := c.Request.Context()


if len(c.Errors) > 0 {
// 处理第一个错误
// 在 gin 中,错误是一个数组,这里只处理第一个错误,一般来说我们在程序中遇到错误时,只会返回一个错误
// 如果出现了例外情况,那么我们需要修改这里的代码
err := c.Errors[0].Err
// 记录错误
log.Error(ctx, "message", "ERROR", err.Error())
}


}
2024-01-17 09:45:03 +08:00
回复了 Hmmmmmmm 创建的主题 生活 求推荐,买箱酒孝敬老爹
先搞清楚你爸喜欢什么口味的酒,有酱香酒,茅台之类的,有浓香型的酒,五粮液,剑南春,海之蓝,有清香型的,青花汾 20 。选的味不对,再贵也没用。
关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     4963 人在线   最高记录 6679       Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 11ms UTC 09:23 PVG 17:23 LAX 01:23 JFK 04:23
Do have faith in what you're doing.
ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86