当前位置:首页 > 大杂烩 > 正文内容

go多协程并发错误处理

高老师5年前 (2022-01-05)大杂烩2655

在Go中我通过我用panic和recover来抛出错误和捕获错误,并且在全局统一处理。但是在子协程中出现错误会导致整个程序GG,我们需要为某个子协程单独recover处理,例如

// 开启协程
go func() {
	// 处理错误
	defer func() {
		if err := recover(); err != nil {
			ToolsWarn.WarnNotice(err)
			wg.Done()
		}
	}()

	// 保存数据
	m.saveToDbData(productItem, &mutex)

	// 协程计数-1
	wg.Done()
}()

扫描二维码推送至手机访问。

版权声明:本文由高久峰个人博客发布,如需转载请注明出处。

本文链接:https://blog.20230611.cn/post/616.html

分享给朋友:

“go多协程并发错误处理” 的相关文章

c#中string和StringBuilder效率对比

c#中string和StringBuilder效率对比

    c#中string和StringBuilder直接看看执行速度。(2).String类型累计赋值Test               ...

Git本地仓库学习

Git本地仓库学习

1.全局用户信息设置 git  config  --global  user.name  gaojiufeng git  config  --global  user.email  392223903...

Git推送文件到远程仓库

Git推送文件到远程仓库

1.远程仓库的协作模式开发者把自己最新的版本推到线上仓库,同时把线上仓库的最新代码,拉到自己本地即可2.注册git帐号国外: http://www.github.com国内: http://git.oschina.net2.在码云创建项目,不要初始化readmegit push https://gi...

Git从远程仓库更新文件

Git从远程仓库更新文件

 git   pull  https://git.oschina.net/392223903/learn.git   master   换为您的git地址...

c#关闭计算机的代码

c#关闭计算机的代码

    1.关机Process.Start("shutdown", "-s -t 0");    2. 注销  Proc...

C# md5加密,C# md5加密代码

C# md5加密,C# md5加密代码

public static string GetMD5(string str) {     //创建MD5对象     MD5 md5 = MD5.C...