goエクセプションキャプチャー情報はどう処理するか

Go言語ではrecover()関数を使用してパニックをキャッチし、defer関数で処理することができます。パニックを処理するGo言語のコードの例を以下に示します。

package main

import (
	"fmt"
)

func main() {
	defer func() {
		if err := recover(); err != nil {
			fmt.Println("捕获到异常:", err)
		}
	}()

	panic("发生了一个异常")
}

そうしたコードでは、deferを利用して匿名関数が定義され、例外が起きたときには呼び出されます。匿名関数中では、recover()を使用して例外を捉え、例外情報をコンソールに出力します。

例外捕捉の後でも、ログの記録やメール送信など、他の操作を行うこともできます。

bannerAds