エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
errors.Is, errors.As は(単なる)比較関数ではない
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
errors.Is, errors.As は(単なる)比較関数ではない
という記事を見かけたが微妙に「???」な印象だったので,私なりに書き直してみる。 Go におけるエラ... という記事を見かけたが微妙に「???」な印象だったので,私なりに書き直してみる。 Go におけるエラー・ハンドリングの戦術 Go におけるエラー・ハンドリングの戦術は大まかに以下の3つのいずれか,または組み合わせである。 error インスタンス同士の同値性[1] を調べる(ポインタ値を含む) error インスタンスから具体的な型で括り出す error.Error() メソッドで出力される文字列を解釈する まぁ,3番めはバッドノウハウなので華麗にスルーするとして,1番目に相当するのが errors.Is(),2番目に相当するのが errors.As() の各関数である。 昔々... errors.Is(),errors.As() 各関数がなかった頃はどうしてたか。 たとえば,以下のようなファイルをオープンしてみるだけの関数があったとする。 func checkFileOpen(path