我们的项目用的iris框架, 在接口里面开启go程后如果go程 panic 了, 则整个服务都会挂掉, 能不能写一个全局的 recover来监听go程的 panic
#### 中间件统一加上就行了
#### 非web请求的部分自己单独开启的协程,不要用裸go,可以类似这样做统一的Go封装:
```golang
package main
import (
"fmt"
"github.com/nothollyhigh/kiss/util"
)
func main() {
util.Go(func() {
fmt.Println(111)
panic("error")
fmt.Println(222)
})
select {}
}
```
#### 输出:
```text
PS C:\Users\Administrator\Desktop> go run .\test.go
111
2019-09-01 17:37:17.037 [Error] [panic.go:43]
---------------------------------------
runtime error: error
traceback:
stack: 1 true [file: C:/Users/Administrator/Desktop/test.go] [func: main.main.func1] [line: 11]
stack: 2 true [file: d:/dev/gopath/src/github.com/nothollyhigh/kiss/util/coroutine.go] [func: github.com/nothollyhigh/kiss/util.Go.func1] [line: 17]
stack: 3 true [file: d:/dev/go/src/runtime/asm_amd64.s] [func: runtime.goexit] [line: 1337]
---------------------------------------
```
#6
更多评论
<a href="/user/polaris" title="@polaris">@polaris</a> 如果不考虑go程的话可以监听, 但是go程里面不知道咋监听...
#2