Slide 1

Slide 1 text

  BOEGBDUPSZ#FBS#BTI ੉ށ හจ

Slide 2

Slide 2 text

ࣗݾ঺հ   ໊લɿ੉ށ හจ  ॴଐɿBOEGBDUPSZגࣜձࣾ  ৬छɿαʔόαΠυΤϯδχΞ  ΞϓϦͷόοΫΤϯυ  ࣾ಺޲͚γεςϜͷߏங  ࠷ۙ࢖͍ͬͯΔݴޠ  /PEFKTɿ೥  1)1ɿϲ݄  (Pݴޠɿϲ݄ (JU)VCɿDQQ 2JJUBɿDQQ 5XJUUFSɿ!DQQ@

Slide 3

Slide 3 text

 ΤϥʔϋϯυϦϯά͕໘౗

Slide 4

Slide 4 text

ΤϥʔϋϯυϦϯά͕໘౗   USZʙDBUDIͷΑ͏ͳߏ଄͸ଘࡏ͠ͳ͍  ؔ਺ͷ໭Γ஋ͰFSSPSΛฦ͢  ݺͼग़͠ݩͰ൑ఆͯ͠ॲཧ func ReadConfig() error { buf, err := ioutil.ReadFile(filePath) if err != nil { //  err  return err } … return nil } func XXX() error { if err := AAA(); err != nil { log.Printf(": %+v¥n", err) return err } if err := BBB(); err != nil { log.Printf(": %+v¥n", err) return err } _, err := CCC() if err != nil { log.Printf(": %+v¥n", err) return err } if err := DDD(); err != nil { log.Printf(": %+v¥n", err) return err } return nil }

Slide 5

Slide 5 text

 ! 

Slide 6

Slide 6 text

 ! 

Slide 7

Slide 7 text

 Τϥʔͷ࢓༷͕γϯϓϧ͗͢Δ

Slide 8

Slide 8 text

Τϥʔͷ࢓༷͕γϯϓϧ͗͢Δ   Τϥʔͷఆٛ type error interface { Error() string } func main() { buf, err := ioutil.ReadFile("abc.txt") if err != nil { fmt.Printf(" " : %s¥n", err) return } … }  "   $ go run main.go  " : open abc.txt: no such file or directory !  

Slide 9

Slide 9 text

 ! 

Slide 10

Slide 10 text

Τϥʔ͕ى͖ͨ৔ॴΛ஌Γ͍ͨ   ελοΫτϨʔεΛؚΜͩΤϥʔΛ࡞੒͢Δ  HJUIVCDPNQLHFSSPST  8JUI4UBDL  ҎԼͷΤϥʔΛ಺แͨ͠ΤϥʔΛฦ͢  ݩͷΤϥʔ  8JUI4UBDLݺͼग़࣌͠఺ͷελοΫτϨʔε

Slide 11

Slide 11 text

Τϥʔ͕ى͖ͨ৔ॴΛ஌Γ͍ͨ   HJUIVCDPNQLHFSSPST  8JUI4UBDL func main() { buf, err := ioutil.ReadFile("abc.txt") if err != nil { fmt.Printf(": %s¥n", err) return } … } $ go run main.go : open abc.txt: no such file or directory

Slide 12

Slide 12 text

Τϥʔ͕ى͖ͨ৔ॴΛ஌Γ͍ͨ  func main() { buf, err := ioutil.ReadFile("abc.txt") if err != nil { fmt.Printf(": %+v¥n", errors.WithStack(err)) return } … } $ go run main.go : open abc.txt: no such file or directory main.main /Users/seto/go/src/github.com/andfactory/test/test_errors.go:13 runtime.main /usr/local/Cellar/go/1.11.2/libexec/src/runtime/proc.go:201 …  HJUIVCDPNQLHFSSPST  8JUI4UBDL

Slide 13

Slide 13 text

 ! 

Slide 14

Slide 14 text

 (PݴޠΛॻ͚ΔΤϯδχΞ͕଍Γͳ͍

Slide 15

Slide 15 text

8FBSFIJSJOH   αʔόαΠυΤϯδχΞઈࢍืूத  ࣗࣾαʔϏεΛ(PͰߏங͍ͨ͠ํ  ៉ྷͳΦϑΟεͰಇ͖͍ͨํ  ৽͍ٕ͠ज़ΛऔΓೖΕͭͭɺεϐʔσΟʔʹ࢓ࣄΛ ͍ͨ͠ํ  8BOUFEMZ αʔόαΠυΤϯδχΞ  IUUQTXXXXBOUFEMZDPNQSPKFDUT