Golang错误处理:理解恐慌
我是一个新手,我正在努力掌握恐慌的功能 到目前为止,我一直在使用类似的语法来处理程序中的错误:Golang错误处理:理解恐慌,go,Go,我是一个新手,我正在努力掌握恐慌的功能 到目前为止,我一直在使用类似的语法来处理程序中的错误: func Find(i int) (item, error) { // some code if (not found) { return nil, errors.New('Not Found') } // if found: return myItem, nil } 然后我偶然发现了恐慌函数。我很难理解它。是否可以消除return语句中的错误并执行类似的操作 fu
func Find(i int) (item, error) {
// some code
if (not found) {
return nil, errors.New('Not Found')
}
// if found:
return myItem, nil
}
然后我偶然发现了恐慌函数。我很难理解它。是否可以消除return语句中的错误并执行类似的操作
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
}
请参阅:。在这种情况下,不要使用它。这只适用于特殊情况,因为世界处于着火状态。另外值得注意的是: