【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("リカバーしているので表示される")
}