#前提
Golangを学んでいます。
エラーの扱いについて二つ気になった点があります
- 戻り値とerrorを返す関数を使用する際はエラーのチェックの他に戻り値のチェックもするべきなのでしょうか。
- 関数を作成する場合、エラーの処理を行ったのちエラーであれば戻り値だけでなく確認したエラーも返すように設計するべきでしょうか。
一般的にはどのように記述するのが望ましいのでしょうか。
#ソースコード(1. について)
Go
1//中略 2f, err := os.OpenFile(filename, os.O_WRONLY, 0666) 3 4if err != nil { 5 fmt.Fprintf(os.Stderr, "Openfile error") 6} 7 8//このチェックはする必要がないのか? 9if f == nil { 10 fmt.Fprintf(os.Stderr, "file pointer error") 11} 12 13 14
#ソースコード(2. について)
Go
1//errorも返す場合 2func hoge () (int error) { 3 n, err := foo() 4 if err != nil { 5 fmt.Fprintf(os.Stderr, "foo error") 6 return -1, err 7 } 8 return n, err 9} 10 11//errorは返さない場合 12func fuga () (int) { 13 n, err := foo() 14 if err != nil { 15 fmt.Fprintf(os.Stderr, "foo error") 16 return -1 17 } 18 return n 19} 20 21
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/07/28 20:52