gpt4 book ai didi

go - 如何从Goroutines中捕获错误?

转载 作者:行者123 更新时间:2023-12-01 22:38:08 25 4
gpt4 key购买 nike

我创建了需要在goroutine中运行的函数,代码正在运行(这只是说明问题的简单示例)

go rze(ftFilePath, 2)


func rze(ftDataPath,duration time.Duration) error {

}

我想做这样的事情
errs := make(chan error, 1)
err := go rze(ftFilePath, 2)
if err != nil{
r <- Result{result, errs}
}

但不确定如何操作,大多数示例显示
使用 func时的操作方式
https://tour.golang.org/concurrency/5

最佳答案

您不能使用通过go关键字执行的函数的返回值。改用匿名函数:

errs := make(chan error, 1)
go func() {
errs <- rze(ftFilePath, 2)
}()

// later:
if err := <-errs; err != nil {
// handle error
}

关于go - 如何从Goroutines中捕获错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62387307/

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