package main

import (
//"fmt"
"time"
) func test () {
var m map[string]int
m["abcd"] = 1234
} func main () {
for i := 0; i < 100; i++ {
go test()
} time.Sleep(10 * time.Second)
}

  不使用recover(),会直接panic影响后面的进程

  

2.使用recover()

  

//recover来捕获异常
package main import (
"fmt"
"time"
) func test () {
//使用recover来捕获异常
defer func () {
if err := recover(); err != nil {
fmt.Println("panic", err)
}
}() var m map[string]int
m["abcd"] = 1234
} func main () {
for i := 0; i < 100; i++ {
go test()
} time.Sleep(10 * time.Second)
}

  

  进程不会panic

最新文章

  1. Zabbix监控disk performance
  2. sqlserver中索引优化
  3. HttpServletRequest接口实例化的使用
  4. 窥探Unity5渲染内部之解析UnityShaderVariables.cginc
  5. Android 开发佳站【转】
  6. 如何查看与更改python的工作目录?
  7. gem安装redis库时报错
  8. PHP命令执行与防范
  9. WEB学习笔记2-结构组织和文件命名
  10. 【阅读笔记】《C程序员 从校园到职场》第五章 内存操作
  11. suse 关于使用 /etc/init.d/boot.local的问题
  12. Expo大作战(十八)--expo如何发布成独立应用程序,打包成apk或者ipa,发布到对应应用商店
  13. pycharm最常用的快捷键总结
  14. Git - 忽略Xcode工程中UserInterfaceState.xcuserstate文件的问题
  15. Python3基础 type 获得变量的类型
  16. storm之 Storm 工作原理
  17. mouseenter 事件
  18. codeforces 355 div2 C. Vanya and Label 水题
  19. PD生成SQL脚本附带注释命令
  20. Oracle数据库学习(一):虚拟机下Oracle Linux的安装与配置

热门文章

  1. 使用java写js中类似setTimeout的代码
  2. kill 一个名字 程序的所有进程
  3. Path.Combine Method
  4. linux 之oracle静默安装
  5. 项目管理工具-OmniPlan 3 for Mac
  6. 微信小程序之分享功能
  7. API 设计 POSIX File API
  8. Jupyter Notebook 远程连接配置(转载)
  9. 阶段5 3.微服务项目【学成在线】_day08 课程图片管理 分布式文件系统_06-分布式文件系统研究-fastDFS安装及配置文件说明
  10. jq删除标签