go言語 panicについて

go言語 panicについて

goのプログラムを強制的に終了させるpanic。基本的にpanicの利用は推奨されないらしいですが、挙動だけ確認したかったので、panicとdeferとrecover、それぞれのサンプルコードを記述してます。

環境

  • OS  windows10 pro
  • go 1.13.8

panicサンプルコード

下記のコードは、まずはpanicのみが実行された際の挙動となります。

実行結果から、PANICが発生するとプログラムが終了されることが確認できます。

次にpanic後に実行されるdeferを追加してみます。

※deferについてはこちら

実行結果からpanic実行後に、deferが実行されていることが確認できます。

最後にrecoverを追加して、後続処理を継続させてみます。

実行結果からpanic実行後に、deferが実行されrecoverされて、main関数内の後続処理が実行されることが確認できます。