欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Go語(yǔ)言使用defer+recover解決panic導(dǎo)致程序崩潰的問(wèn)題

 更新時(shí)間:2021年09月23日 15:12:08   作者:cui_yonghua  
如果協(xié)程出現(xiàn)了panic,就會(huì)造成程序的崩潰,這時(shí)可以在goroutine中使用recover來(lái)捕獲panic,進(jìn)行處理,本文就詳細(xì)的介紹一下,感興趣的可以了解一下

案例:如果我們起了一個(gè)協(xié)程,但這個(gè)協(xié)程出現(xiàn)了panic,但我們沒有捕獲這個(gè)協(xié)程,就會(huì)造成程序的崩潰,這時(shí)可以在goroutine中使用recover來(lái)捕獲panic,進(jìn)行處理,這樣主線程不會(huì)受到影響。

代碼如下:

package main

import (
	"fmt"
	"time"
)

func sayHello()  {
	for i := 0; i < 10; i++ {
		time.Sleep(time.Second)
		fmt.Println("hello world")
	}
}
func test()  {
	//使用 defer + recover
	defer func() {
		//捕獲test拋出的panic
		if err := recover();err!=nil{
			fmt.Println("test發(fā)生錯(cuò)誤",err)
		}
	}()
	//定義一個(gè)map
	var myMap map[int]string
	myMap[0] = "golang" //error
}

func main() {

	go sayHello()
	go test()

	for i := 0; i < 10; i++ {
		fmt.Println("main() ok=",i)
		time.Sleep(time.Second)
	}
}

執(zhí)行結(jié)果如下圖:

在這里插入圖片描述

到此這篇關(guān)于Go語(yǔ)言使用defer+recover解決panic導(dǎo)致程序崩潰的問(wèn)題的文章就介紹到這了,更多相關(guān)Go panic程序崩潰內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 使用Go語(yǔ)言解決Scan空格結(jié)束輸入問(wèn)題

    使用Go語(yǔ)言解決Scan空格結(jié)束輸入問(wèn)題

    這篇文章主要為大家介紹了使用Go語(yǔ)言來(lái)解決Scan空格結(jié)束輸入問(wèn)題,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步
    2021-11-11
  • Go 第三方庫(kù)之類型轉(zhuǎn)換問(wèn)題

    Go 第三方庫(kù)之類型轉(zhuǎn)換問(wèn)題

    今天給大家介紹一個(gè)第三方庫(kù),專門處理類型轉(zhuǎn)換的問(wèn)題。對(duì)Go 第三方庫(kù)之類型轉(zhuǎn)換問(wèn)題感興趣的朋友跟隨小編一起看看吧
    2021-08-08
  • Golang標(biāo)準(zhǔn)庫(kù)unsafe源碼解讀

    Golang標(biāo)準(zhǔn)庫(kù)unsafe源碼解讀

    這篇文章主要為大家介紹了Golang標(biāo)準(zhǔn)庫(kù)unsafe源碼解讀,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-08-08
  • Go 1.21新增的slices包中切片函數(shù)用法詳解

    Go 1.21新增的slices包中切片函數(shù)用法詳解

    Go 1.21新增的 slices 包提供了很多和切片相關(guān)的函數(shù),可以用于任何類型的切片,本文通過(guò)代碼示例為大家介紹了部分切片函數(shù)的具體用法,感興趣的小伙伴可以了解一下
    2023-08-08
  • GO web 數(shù)據(jù)庫(kù)預(yù)處理的實(shí)現(xiàn)

    GO web 數(shù)據(jù)庫(kù)預(yù)處理的實(shí)現(xiàn)

    本文主要介紹了GO web 數(shù)據(jù)庫(kù)預(yù)處理的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • Go http client 連接池不復(fù)用的問(wèn)題

    Go http client 連接池不復(fù)用的問(wèn)題

    這篇文章主要介紹了Go http client 連接池不復(fù)用的問(wèn)題,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • 使用Go語(yǔ)言實(shí)現(xiàn)配置文件熱加載功能

    使用Go語(yǔ)言實(shí)現(xiàn)配置文件熱加載功能

    這篇文章主要介紹了使用Go語(yǔ)言實(shí)現(xiàn)配置文件熱加載功能,以及配置文件熱加載包的實(shí)現(xiàn)思路,需要的朋友可以參考下
    2018-03-03
  • 一文搞懂Go?Exec?僵尸與孤兒進(jìn)程

    一文搞懂Go?Exec?僵尸與孤兒進(jìn)程

    本文主要介紹了Go?Exec?僵尸與孤兒進(jìn)程,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • axios?gin的GET和POST請(qǐng)求實(shí)現(xiàn)示例

    axios?gin的GET和POST請(qǐng)求實(shí)現(xiàn)示例

    這篇文章主要為大家介紹了axios?gin的GET和POST請(qǐng)求實(shí)現(xiàn)示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪
    2022-04-04
  • Golang?中實(shí)現(xiàn)?Set的思路詳解

    Golang?中實(shí)現(xiàn)?Set的思路詳解

    本文介紹了Go中兩種set的實(shí)現(xiàn)原理,并在此基礎(chǔ)介紹了對(duì)應(yīng)于它們的兩個(gè)包簡(jiǎn)單使用,本文介紹的非常詳細(xì),需要的朋友參考下吧
    2024-01-01

最新評(píng)論