>>311

(1), (2)
> 伝搬すべきエラー(例外)もあるでしょうから、
> 全ての可能性について網羅してしまうことはないかと。

それはそうですが、コーディング規約の一貫として、
すべてのエラーコードの判定をコーディングするのがよいかと思います。
プログラマがすべてのエラーを認識している証となりますから。

↓こんなコードでも書くべき。
if (err == ERR_NO_MEMORY) {
 return err;
}

> 網羅してしまうと、呼び出し元へのエラーは戻り値を通してしか
> 通知することができなくなってしまうでしょう。
> 戻り値ありきな考え方の様に思えます。

すいません、これで何が問題なのかよくわからないのですが。。
もう少しご説明願えますか?