タイトル : Re^6: FileOpenは使用しないほうがいい? 投稿日 : 2008/05/08(Thu) 14:17 投稿者 : 魔界の仮面弁士
> Tryステートメントのみでの判定はリソースの消費が多いのでは。 (Catch 時はともかく)Try 自体にはさほどコストがかからなかったような? で、この手のリソース(資源)消費について考える場合においては、具体的に、 「どのリソースの消費が、どの程度増加するのか」が判断基準になりますね。 > 予測可能なエラーの可能性という事で > Existsでの判定を入れておくのはおかしくないかと。 しかし、IOException で判定されるのは、Exists だけではありませんよね。 また、保存前の事前確認の点を持ちだしてしまうと、それこそ、書込禁止、 ディスク容量不足、権限不足、ネットワーク切断等々、きりがないような気もします。 > それ以降でファイルの状態が変わった等があった場合には > Catchする、というのが望ましい処理ではないでしょうか。 Catch するかどうか、また、Catch した後どうするのか、といった点で実装方法に 個人差は出ますが、何にせよ、ファイル制御の際には例外処理がほぼ必須と言えますね。 で、Exists の状態がたびたび変化する可能性が(比較的)高く、しかも、ファイルの 存在有無によって、その後のコードを大きく変えねばならないような状況にあるならば、 例外処理だけでなく、事前判定しておいた方が、動作的にはベターだと思います。 |