如何知道卡住程序中错误代码的数量

时间:2019-11-26 11:58:02

标签: go

我的测试代码如下:

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,但是它不能正常工作。

1 个答案:

答案 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:
相关问题