[Golang]エラーハンドリングのやり方を簡単にまとめてみた

Golangでエラー処理をするときは、変数二つを用意してエラーが出たときは二つ目にエラー内容が入るという特性を使う。

具体的なコード例は以下の通り。

package main

import (
  "fmt"
  "strconv"
)

func main() {
  var test string = "1000"

  result, error := strconv.Atoi(test)  //変数を二つ並べて、エラーが出たときは二つ目にエラー内容が入る

  if error != nil {  //もし変数errorが空でなければ、エラー内容を出力する
    fmt.Println(error)
  }
  fmt.Printf("result = %T\n", result)
}

この場合は処理が成功します。

では、変数testの中身を変えてみます。

package main

import (
  "fmt"
  "strconv"
)

func main() {
  var test string = "Hello"

  result, error := strconv.Atoi(test)  //変数を二つ並べて、エラーが出たときは二つ目にエラー内容が入る

  if error != nil {  //もし変数errorが空でなければ、エラー内容を出力する
    fmt.Println(error)
  }
  fmt.Printf("result = %T\n", result)
}

この場合処理が失敗するはずなので、エラー内容が出力されるはずです。

出力結果↓

strconv.Atoi: parsing "Hello": invalid syntax_
タイトルとURLをコピーしました