面试题答案
一键面试在Go语言中,通过在函数返回值中传递错误来处理错误。以下是实现将函数C的错误传递回函数A并进行处理的代码示例:
package main
import (
"fmt"
)
func functionC() error {
// 这里模拟一个错误返回
return fmt.Errorf("function C error")
}
func functionB() error {
err := functionC()
if err != nil {
return err
}
return nil
}
func functionA() {
err := functionB()
if err != nil {
fmt.Printf("Caught error in function A: %v\n", err)
}
}
你可以在main
函数中调用functionA
来触发整个调用链:
func main() {
functionA()
}
在上述代码中:
functionC
函数返回一个错误。functionB
调用functionC
,如果functionC
返回错误,functionB
直接返回该错误。functionA
调用functionB
,并在functionA
中检查functionB
返回的错误,如果有错误则进行相应的处理。