golang语言没有JAVA的异常处理机制。每种语言都有自己的特别之处,否则就没有存在的价值;每有语言都有自己的用武之地,否则就会在滚滚的技术革新中被淘汰。
今天我们来说下GO 语言中Panic的使用注意事项:
当我们再程序中主动抛出一个系统退出的异常时,就可以用Panic, 我们直接看如下代码”
func test() {
defer func() {
time.Sleep(time.Second * 1)
if err := recover(); err != nil {
fmt.Println("主进程", err)
}
}()
go func() {
defer func() {
if err := recover(); err != nil {
fmt.Println("子进程", err)
}
}()
panic("子进程异常...")
}()
panic("主进程异常...")
time.Sleep(time.Second * 4)
}
func main() {
test()
}
Panic 的使用比较简单,注意一点就可以了。一个进程或线程,只能在自己的所属区域处理自己抛出的Panic