- Goの標準ライブラリには文字列を渡すことでエラーを生成する方法が2つ用意されている
- 一つ目は
errors.Newを使用する方法
- 文字列を受け取り
errorを返す
- 戻された
errorをfmt.Printlnに渡すとErrorメソッドを自動的に呼び出す
- 参考:9.1 エラー処理の基本
- 二つ目は
fmt.Errorfを使用する方法
fmt.Printfのverbを使用することができる
- 戻された
errorをfmt.Printlnに渡すとErrorメソッドを自動的に呼び出す
package main
import (
"fmt"
"os"
)
func doubleEven(i int) (int, error) {
if i%2 != 0 {
return 0, fmt.Errorf("%dは偶数ではありません", i)
}
return i * 2, nil
}
func main() {
result, err := doubleEven(3)
if err != nil {
fmt.Println(err) // 3は偶数ではありません
}
fmt.Println(result) // 0
}