goエクセプションキャプチャー情報はどう処理するか
Go言語ではrecover()関数を使用してパニックをキャッチし、defer関数で処理することができます。パニックを処理するGo言語のコードの例を以下に示します。
package main
import (
"fmt"
)
func main() {
defer func() {
if err := recover(); err != nil {
fmt.Println("捕获到异常:", err)
}
}()
panic("发生了一个异常")
}
そうしたコードでは、deferを利用して匿名関数が定義され、例外が起きたときには呼び出されます。匿名関数中では、recover()を使用して例外を捉え、例外情報をコンソールに出力します。
例外捕捉の後でも、ログの記録やメール送信など、他の操作を行うこともできます。