September 2022
Beginner to intermediate
464 pages
6h 52m
Japanese
ほかの言語からGo言語に移行しようとしている開発者にとって、エラー処理はかなり厄介な存在かもしれません。「例外」に慣れている人の中にはGoのアプローチは「時代錯誤だ」と感じる人もいるでしょう。しかしGoのアプローチも確固たるソフトウェアエンジニアリング的な原則に基づいたものなのです。
この章ではエラー処理について学びます。パニック(panic)とリカバー(recover)についても詳しく説明します。Goではどのようにエラーを処理するのがイディオム的なのか、見ていきましょう。
「5章 関数」で簡単に見ましたが、Goは関数からerror型を戻すことによってエラーを処理します。これは単なる慣習なのですが、誰もが守ることになっているものなので、絶対に破るべきではありません。
errorにはnilが返されるerrorの戻り値をnilと比較することでチェックし、そのエラーを処理したり、独自のエラーを返したりする具体的には次のようなコードになります(ch08/ex0801.go。https://musha.com/scgo?ex=0801)。
funccalcRemainderAndMod(numerator,denominatorint)(int,int,error){// 被除数と除数をもらって、商と余り、それにerrorを返すifdenominator==0{return0,0,errors.New("denominator is 0")// 除数が0}returnnumerator/denominator ...
Read now
Unlock full access