在 Golang 中,recover 函数可以用于捕获 panic 异常,但是无法直接显示出错误的具体位置。如果需要查看具体位置,可以结合 debug 包中的 trace 函数使用。

例如:

package main

import (
    "fmt"
    "runtime/debug"
)

func main() {
    defer func() {
        if err := recover(); err != nil {
            fmt.Println('panic:', err)
            debug.PrintStack() // 打印堆栈信息
        }
    }()
    test()
}

func test() {
    panic('test panic')
}

在上面的例子中,当 test 函数触发 panic 异常时,会被 defer 中的函数捕获,并将错误信息和堆栈信息打印出来。通过堆栈信息,可以看到错误发生的具体位置。

Golang Recover 函数:如何显示错误的具体位置

原文地址: https://www.cveoy.top/t/topic/lHfS 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录