ぶっちゃけ、関数の返す結果値のチェックなんてしないモンですか?
オレはしている、私はしない、こーゆーケースではするけどこーゆー時はしない。いろいろな考えがあると思います。それぞれ理由をつけて答えてください。
なるほど。至極もっともな考えだと思います。ただ、一般論の域を出ていないもどかしさも感じます。こちらの質問もひじょーに抽象的な書き方をしているので、どうしても突っ込んだ意見になりにくいのは、仕方がないですかね。
私の個人的な考え、やり方ですが、関数が意味のある値を返すなら全てチェックするコードを書きます。でないと次に何が起こるか予測がつかないと思うので。あとは運用中に不具合が発生したとき、エラートラップをカッチリやってログなりなんなり残さないと後で原因分析できなくなるのが恐ろしいです。
エラー値をあつかうべきかどうか?はプログラムの重要性や
エラーの致命度によると思います。
プログラム自体が内部メンバだけが使うテストプログラムであれば
エラーをほっておいてもいいかもしれないし、また逆に、一般ユーザが
使うのであれば、きっちり何が起きているのか教えてあげる必要があると
思います。また、そのエラーが発生して、それ以降の処理を継続しては
いけない(例えば過去のデータを空白で上書きして消す結果になる)場合は
ちゃんと中断処理をする必要があると思います。さらに例えると、
オーダ処理でエラーになったら、課金処理をロールバックさせるとか、、
逆に、軽微なエラーであって、一度発生してもまたリトライするタイミングが
あって、その時にうまくいけばいいのであればほっといてもいいし。。
一般的に、エラー処理はまじめにやりだすと、コードが肥大化して読みにくく
なるし、さらに、サブルーチンの深い所でエラーが発生すると、大域ジャンプに
近いようなことをしないと処理を中断できないとか、とにかく頭を悩ませる
問題とは思います。(品質向上のためには必要なコードではありますが)
今風に実装するなら、例外(Exception)を投げる実装がすっきいりまとまって
いいのではないか?と思います。