我的测试代码如下:
var srcDbresult *sql.Rows
srcDbresult, err = db.Query(sql)
if err != nil {
err = errors.Wrap(err, "db.Query error")
print(srcDbresult.Next())
panic(err)
}
如果err不是nil,则由于nil指针执行该方法,程序将挂起print(srcDbresult.Next())。 所以我想知道程序是否像示例代码那样卡住了,如何知道错误代码的行号。我已经尝试过pprof,但是它不能正常工作。
答案 0 :(得分:2)
如果err
不是nil
,请不要触摸srcDbresult
,它无效/不可用。
像这样使用它:
var srcDbresult *sql.Rows
srcDbresult, err = db.Query(sql)
if err != nil {
err = errors.Wrap(err, "db.Query error")
panic(err) // Return or handle the error somehow, but do not continue
}
defer srcDbresult.Close()
// You can use srcDbresult here: