【Go语言】发生恐慌,恢复

【Golang】发生恐慌、恢复

經過基礎學習後,我完成了學習Golang並創建Web應用程序的過程,現在我將進行復習並整理筆記,包括從基礎到應用程式的範圍。

package main
//パニック(例外)、リカバリー(復帰)
//パニックより推奨されているのは、エラーハンドリング
//強制的に終了する強力な機能な為、あえて使わない方がいい

import (
    "fmt"
)

//外部DB接続をイメージ
func thirdPartyConnectDB() {
    //パニックを起こす。例外を発生させる。
    panic("Unable to connect database!")
}

func save() {
    //deferを先に書く
    defer func() {
        //リカバリー システム終了をキャッチして復帰させる。
        s := recover()
        fmt.Println(s)
    }()
    thirdPartyConnectDB()
}

func main(){
    save()
    fmt.Println("リカバーしているので表示される")
}
广告
将在 10 秒后关闭
bannerAds