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