1. ホーム
  2. スクリプト・コラム
  3. ゴラン

小学生でもわかるGolangの例外処理リカバリーパニック

2022-02-15 02:13:19

???? Golang、Python、Cloud Native、人工知能を専門とするブロガー
???? 過去の経験が重要なのは、あなたを導くことであり、あなたを定義することではありません。
???? 努力すれば誰でも無限の可能性を持っている

  • ???? パニック 例外を発生させる関数
  • 回復するキャッチ例外関数

1:主結合内の例外をキャッチする

package main

import (
	"fmt"
)

func main(){

	defer func(){
		err := recover()
		if err ! = nil{
			fmt.Println("Exception caught")
		}
	}()

	panic("Exception raised") //throw an exception, representing the error code

}


???? 実行結果

???? ? 2: 子連結が内部エラーを起こしたと仮定し、主連結がそれを捕捉できるかどうか確認します。

package main

import (
	"fmt"
)

func Calculate(){
    
	panic("Exception occurred") // Also represents an error code
}



func main(){

	defer func(){
		err := recover()
		if err ! = nil{
			fmt.Println("Exception caught")
		}
	}()

	go Calculate()
	
	Sleep(time.Second*3) //prevent the main coexistence from exiting too early, resulting in the subcoexistence not being executed

}


???? 実行結果、主連接は子連接のエラーをキャッチできない

???? ?3:サブコーディネーションエラーを自らキャッチする必要があると仮定します。

package main

import (
	"fmt"
	"time"
)

func Calculate(){

	defer func(){
		err := recover()
		if err ! = nil{
			fmt.Println("concatenated internal catch exception")
		}
	}()

	panic("Exception occurred")
}



func main(){

	go Calculate()

	time.Sleep(time.Second*3)

}


例外の捕捉に成功した実行結果

小学生でもわかるGolangの例外処理リカバリーパニックの記事はこれだけです。Golangの例外処理に関連するコンテンツは、スクリプトハウスの過去記事を検索するか、以下の関連記事を引き続きご覧ください。