Go言語 – 9.エラーハンドリング

2019-02-02

エラー処理

JavaやC++には、try, catch, throw といったエラーを処理する構文がありますが、go言語では、関数の戻り値を複数得ることができるので、errorの判定もその都度簡単に行うことができます。

例えばこんな感じ

 

エラーを無視するのも簡単です

 

panic

ゼロ除算を行ったり、確保していない配列を参照した時等に起きる致命的なエラーが起きると強制終了しますが、この仕組みが panicです。
組み込み関数 panic を使うことで、プログラムの実行を意図して中断することができます。

 

recover と defer を組み合わせて、panic を拾うことができます

panic をゼロ除算に変えれば、ゼロ割りのランタイムエラーが見れます。