エラー処理
Go 言語のエラー処理:Error、Panic、Recover。
Errors
- error 位置で nil を返すことはエラーがないことを示す
Error()メソッドを実装してカスタムエラー型を作成できる- Go 1.13 以降、エラー値が特定のカスタムエラー型のインスタンスかどうかを確認するには
errors.Asを使用
Ref: Custom Errors
- Links:
カスタムエラーの作成方法
New関数でカスタムエラーを作成Errorfでエラーに詳細情報を追加- struct type の
methodsで詳細なエラー情報を提供 structtype とfieldsで詳細なエラー情報を提供
Panic
Exception に似ており、実行時に発生。
channel を使用する際に panic が発生する可能性のある状況:
- 閉じた channel にデータを送信
- すでに閉じた channel を閉じる
Recover
panic から回復、通常 defer と組み合わせて使用。