go
data_error
ai_generated
true
错误:sql:在Rows.Err之后调用Rows.Next
error: sql: Rows.Next called after Rows.Err
ID: go/database-sql-rows-next-after-error
80%修复率
89%置信度
0证据数
2026-10-10首次发现
版本兼容性
| 版本 | 状态 | 引入 | 弃用 | 备注 |
|---|---|---|---|---|
| 1.20 | active | — | — | — |
| 1.21 | active | — | — | — |
根因分析
在迭代过程中发生错误后调用rows.Next(),这是无效的,可能导致恐慌。
English
Calling rows.Next() after an error has occurred during iteration, which is invalid and may panic.
解决方案
-
98% 成功率 Always check rows.Err after the iteration loop
for rows.Next() { /* process */ } if err := rows.Err(); err != nil { return err }
无效尝试
常见但无效的做法:
-
Ignoring rows.Err check
90% 失败
May miss iteration errors; always check rows.Err after loop.