Upgrade to Pro — share decks privately, control downloads, hide ads and more …

【Go言語】エラーハンドリング

Avatar for Tomoki Ota Tomoki Ota
September 11, 2024

 【Go言語】エラーハンドリング

Goのエラーハンドリングについて解説しています。

Avatar for Tomoki Ota

Tomoki Ota

September 11, 2024
Tweet

More Decks by Tomoki Ota

Other Decks in Programming

Transcript

  1. ଟݴޠʹ͓͚ΔΤϥʔ 19 ର৅ Τϥʔ௨஌ Cݴޠ intͷฦΓ஋ͱͯ͠ΤϥʔΛฦ͢ fopen, java.util.Map.get() ͳͲ ฦΓ஋Λnullableͳܕʹͯ͠ɺΤϥʔ࣌ʹnullΛฦ͢

    goݴޠͳͲ ฦΓ஋ΛΤϥʔͱͷλϓϧʹ͢Δ HaskellͷEitherܕͳͲ ฦΓ஋ΛΤϥʔͱͷ௚࿨ܕʹ͢Δ STLͷstreamͳͲ ΦϒδΣΫτΛΤϥʔঢ়ଶʹ͢Δ Java΍RubyɺPythonͳͲ ྫ֎Λ౤͛Δ
  2. Τϥʔϥοϐϯά·ͱΊ 43 ํ๏ ௥Ճͷจ຺৘ใ ΤϥʔͷϚʔΫ෇͚ ݩͷΤϥʔ͕ར༻Մೳ ΤϥʔΛ௚઀ฦ͢ ❌ ❌ ⭕

    ಠࣗͷΤϥʔܕ ⭕(Τϥʔܕ͕จࣈྻϑΟʔϧ υΛؚΜͰ͍ͨΒ) ⭕ ⭕(ݩͷΤϥʔ͕ެ։͞Ε͍ͯ ΔɺϝιουΛ௨ͯ͠ΞΫη εͰ͖ΔͳΒՄೳ) fmt.Errorfͱ%w ⭕ ❌ ⭕ fmt.Errorfͱ%v ⭕ ❌ ❌
  3. ΤϥʔͷϥΠϒϥϦ 64 cockroach/errors : ਪ঑ɻෳ਺ΤϥʔରԠɻελοΫτϨʔε͋ΓɻݱࡏҰ൪ओྲྀͱͳͬͯΔ pkg/errors : archiveͳͷͰඇਪ঑ errors :

    ඪ४ϥΠϒϥϦɻϥοϐϯά͸ͳ͍ɻελοΫτϨʔεͳ͠ fmtͷErrof : ελοΫτϨʔεͳ͠ɻϰΝʔϒͰϥοϓ͢Δɻ%w, %v xerrors : ଟ͕͘Deprecatedʹͳ͍ͬͯΔͷͰඇਪ঑ hashicorp/go-multierror : ෳ਺ΤϥʔΛѻ͏ͨΊͷϥΠϒϥϦ͕ͩɺඪ४ϥΠϒϥϦͰରԠ͞Εͨ morikuni/failure : Τϥʔίʔυϕʔεͷྫ֎ϋϯυϦϯά go-errors/errors : ෳ਺Τϥʔʹ͸ରԠ͍ͯ͠Δ͕ɺػೳ΋ߋ৽ස౓΋ඍົͳͷͰඇਪ঑ goark/errs : ελοΫτϨʔε͋Γɻߋ৽ස౓͸ඍົ
  4. 71