例外の扱いのエントリーが増加して心強く感じているのですが、私自身まだ基準が確立していない部分があります。
DiskFullに関する記事がありましたが、StackOverなど捕捉しにくい例外はテスト仕様に含めるが否かで迷ったりします。
ネットワーク障害に関して、「アプリ動作中にイーサーネットを抜く」「ハブの電源を抜く」といったテスト項目があったりします。USB経由のプリンタで印刷中や、USB接続のハードディスクのIO時にUSBケープるを抜くなどがあったら、テストが怖くでできない。印刷はスプーラに入ってからの印刷なのでアプリの手から離れいます。印刷時のトラブルはアプリの範疇ではないし、アプリでカバーすることはできないですしね。
個々のアプリのメソッドレベルで対応するのは行き過ぎのような気もします。 アプリケーションレベルの例外として処理しても構わないのでは? と思うのですが、「メソッド内で適切に処理しなければ入力データの保持ができない」...と反論があった時、再反論できなかったりします。アプリ稼動中にPCの電源を切ることもテスト項目に入っていたりするのですが、(その影響の思われるのですが)テストでコンセントを抜いているうちに、System破壊か何かで立ち上がらなくなったり、アプリが壊れたりしたことも.....
物理破損を招くようなテスト項目は本末転倒になんですが、通常例外と本当の例外(変な言い方ですが、異常事態のほうがいいかな)の切り分けって明確になってます?