Golang では、リカバリなしでパニックが発生するとプロセスがクラッシュするため、すべての関数の先頭に次のコード スニペットを配置することになります。
defer func() {
if err := recover(); err != nil {
fmt.Println(err)
}
}()
プログラムがクラッシュするのを防ぐためだけに。今思うと、本当にその通りなのだろうか?同じコードをどこにでも置くのは少し奇妙に見えると思うからです。
メイン関数が例外/パニックを制御するためのより良い方法になるまで、Javaの方法で、呼び出し元の関数まで例外をバブリングするように思えます。Go の設計によるものだと理解していますが、Go のようにプロセスをすぐにクラッシュさせる利点は何ですか?