go runtime_error ai_generated true

sql: Rows are closed

ID: go/sql-query-without-close

Also available as: JSON · Markdown · 中文
80%Fix Rate
89%Confidence
0Evidence
2024-06-12First Seen

Version Compatibility

VersionStatusIntroducedDeprecatedNotes
1.15 active

Root Cause

在Rows迭代完成前调用Close或继续使用已关闭的Rows

generic

中文

在Rows迭代完成前调用Close或继续使用已关闭的Rows

Workarounds

  1. 95% success
    使用defer rows.Close()并检查错误
  2. 90% success
    确保在循环结束后调用rows.Close()

Dead Ends

Common approaches that don't work:

  1. 90% fail

    可能导致空数据或panic

  2. 80% fail

    连接泄漏,最终耗尽连接池