亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

小學(xué)生也能看懂的Golang異常處理recover panic

 更新時間:2021年09月27日 15:32:29   作者:毛毛是一只狗  
在其他語言里,宕機往往以異常的形式存在,底層拋出異常,上層邏輯通過 try/catch 機制捕獲異常,沒有被捕獲的嚴(yán)重異常會導(dǎo)致宕機,go語言追求簡潔,優(yōu)雅,Go語言不支持傳統(tǒng)的 try…catch…finally 這種異常

🌌 專注Golang,Python語言,云原生,人工智能領(lǐng)域得博主
💜 過去經(jīng)歷的意義在于引導(dǎo)你,而非定義你,
💜 只要我們足夠努力,任何人都有無限潛力

在這里插入圖片描述

  • 🚀panic 拋出異常函數(shù)
  • 🚀recover 捕獲異常函數(shù)

📣1:在一個主協(xié)成內(nèi)捕獲異常

package main

import (
	"fmt"
)

func main(){

	defer func(){
		err := recover()
		if err != nil{
			fmt.Println("捕獲到異常")
		}
	}()

	panic("異常出現(xiàn)") //拋出異常,代表錯誤代碼

}

🚀運行結(jié)果

在這里插入圖片描述

📣2:假設(shè)子協(xié)成內(nèi)部錯誤,看看主協(xié)成能不能捕獲到

package main

import (
	"fmt"
)

func Calculate(){
    
	panic("異常出現(xiàn)")  // 同樣代表錯誤代碼
}



func main(){

	defer func(){
		err := recover()
		if err != nil{
			fmt.Println("捕獲到異常")
		}
	}()

	go Calculate()
	
	time.Sleep(time.Second*3)  //防止主協(xié)成過早退出,導(dǎo)致子協(xié)成沒執(zhí)行

}

🚀執(zhí)行結(jié)果,主協(xié)成不能捕獲到子協(xié)成的錯誤

在這里插入圖片描述

📣3:假設(shè)子協(xié)成錯誤需要自己捕獲

package main

import (
	"fmt"
	"time"
)

func Calculate(){

	defer func(){
		err := recover()
		if err != nil{
			fmt.Println("協(xié)成內(nèi)部捕獲異常")
		}
	}()

	panic("異常出現(xiàn)")
}



func main(){

	go Calculate()

	time.Sleep(time.Second*3)

}

執(zhí)行結(jié)果,成功捕獲異常

在這里插入圖片描述

到此這篇關(guān)于小學(xué)生也能看懂的Golang異常處理recover panic的文章就介紹到這了,更多相關(guān)Golang 異常處理 內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Go 實現(xiàn)熱重啟的詳細(xì)介紹

    Go 實現(xiàn)熱重啟的詳細(xì)介紹

    這篇文章主要介紹了Go 實現(xiàn)熱重啟的詳細(xì)介紹,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-09-09
  • Golang語言中的Prometheus的日志模塊使用案例代碼編寫

    Golang語言中的Prometheus的日志模塊使用案例代碼編寫

    這篇文章主要介紹了Golang語言中的Prometheus的日志模塊使用案例,本文給大家分享源代碼編寫方法,感興趣的朋友跟隨小編一起看看吧
    2024-08-08
  • Go語言編程實現(xiàn)支持六種級別的日志庫?

    Go語言編程實現(xiàn)支持六種級別的日志庫?

    這篇文章主要為大家介紹了使用Golang編寫一個支持六種級別的日志庫示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05
  • 解決Golang中g(shù)oroutine執(zhí)行速度的問題

    解決Golang中g(shù)oroutine執(zhí)行速度的問題

    這篇文章主要介紹了解決Golang中g(shù)oroutine執(zhí)行速度的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-05-05
  • Go語言中的Array、Slice、Map和Set使用詳解

    Go語言中的Array、Slice、Map和Set使用詳解

    這篇文章主要介紹了Go語言中的Array、Slice、Map和Set使用詳解,本文給出了它們的創(chuàng)建、使用、多維等代碼實例,需要的朋友可以參考下
    2014-10-10
  • Golang基于文件魔數(shù)判斷文件類型的案例代碼

    Golang基于文件魔數(shù)判斷文件類型的案例代碼

    這篇文章主要介紹了Golang基于文件魔數(shù)判斷文件類型,本文介紹了基于文件魔數(shù)判斷文件類型的方法,主要涉及如何ReadSeek讀取文件指定字節(jié)內(nèi)容,然后介紹文件魔數(shù),最后給出示例基于魔數(shù)判斷文件類型,需要的朋友可以參考下
    2023-02-02
  • Go字典使用詳解

    Go字典使用詳解

    今天和大家一起學(xué)習(xí)Go語言的字典。Go語言的字典又稱為map,一種使用廣泛的數(shù)據(jù)結(jié)構(gòu)。它是擁有key/value對元素的「無序集合」,而且在集合中key必須是唯一的
    2022-11-11
  • Go語言map實現(xiàn)順序讀取

    Go語言map實現(xiàn)順序讀取

    當(dāng)我們遍歷 map 時,那就是輸出的鍵值對順序是不確定的,本文主要介紹了Go語言map實現(xiàn)順序讀取, 文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-05-05
  • Go語言pointer及switch?fallthrough實戰(zhàn)詳解

    Go語言pointer及switch?fallthrough實戰(zhàn)詳解

    這篇文章主要為大家介紹了Go語言pointer及switch?fallthrough實戰(zhàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-06-06
  • Golang因Channel未關(guān)閉導(dǎo)致內(nèi)存泄漏的解決方案詳解

    Golang因Channel未關(guān)閉導(dǎo)致內(nèi)存泄漏的解決方案詳解

    這篇文章主要為大家詳細(xì)介紹了當(dāng)Golang因Channel未關(guān)閉導(dǎo)致內(nèi)存泄漏時蓋如何解決,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下
    2023-07-07

最新評論