首次提交:初始化项目代码
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"time"
|
||||
)
|
||||
|
||||
// GoroutineRecover 协程独立恢复,不影响主程序
|
||||
func GoroutineRecover() {
|
||||
// 协程 1:带恢复
|
||||
go func() {
|
||||
defer func() {
|
||||
if err := recover(); err != nil {
|
||||
fmt.Printf("[协程1] 捕获异常: %v\n", err)
|
||||
}
|
||||
}()
|
||||
panic("异步任务执行失败")
|
||||
}()
|
||||
|
||||
// 协程 2:正常执行
|
||||
go func() {
|
||||
fmt.Println("[协程2] 异步任务执行成功")
|
||||
}()
|
||||
|
||||
time.Sleep(200 * time.Millisecond)
|
||||
}
|
||||
|
||||
func main() {
|
||||
// 协程安全恢复演示
|
||||
GoroutineRecover()
|
||||
println("----------------------------------------")
|
||||
fmt.Println("主程序执行完成,无崩溃退出")
|
||||
}
|
||||
Reference in New Issue
Block a user