Golang 循环异常抛出不影响整个请求
代码案例
func main() {
fmt.Println("开始------")
for i:=0;i<10 ;i++ {
func() {
defer func() {
if err := recover();err != nil{
fmt.Println(err)
}
}()
if i == 2{
panic("2 这里抛出异常了----- ")
}else {
fmt.Println(i)
}
}()
fmt.Sprintf("测试一下 %v \n",i)
}
fmt.Println("结束------")
)
输出结果
开始------
0
1
2 这里抛出异常了-----
3
4
5
6
7
8
9
结束------
匿名函数后面加()是运行这个函数的意思。所以defer里面的function后带(),return 后面不能带 ()
本作品采用《CC 协议》,转载必须注明作者和本文链接
提到 golang 板块吧