gpt4 book ai didi

Golang错误处理: understanding panic

转载 作者:IT王子 更新时间:2023-10-29 02:24:07 27 4
gpt4 key购买 nike

我是 Go 的新手,我正在尝试掌握 panic 函数。

到目前为止,我一直在使用这种类似的语法来处理程序中的错误:

func Find(i int) (item, error) {
// some code

if (not found) {
return nil, errors.New('Not Found')
}

// if found:
return myItem, nil

}

然后我偶然发现了 panic 函数。我很难理解它。是否有可能摆脱返回语句中的 error 并执行类似的操作?

func Find(i int) item {
// some code

if (not found) {
panic('Not found')
}

return myItem

}

如果是,调用函数时如何处理错误?

非常感谢

最佳答案

您想使用恢复 功能。

func Find(i int) item {
defer func() {
if e := recover(); e != nil {
// e is the interface{} typed-value we passed to panic()
fmt.Println("Whoops: ", e) // Prints "Whoops: Not Found"
}
}()

if (not found)
{ panic("Not Found")
}

return myItem
}

引用:http://blog.denevell.org/golang-panic-recover.html

关于Golang错误处理: understanding panic,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28226395/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com