Visual Basic 中学校 掲示板 投稿の管理
タグのない投稿を抽出
統計
RSS
Visual Basic 中学校
投稿一覧
例外処理はあった方がいいのでしょうか。
この投稿へのリンク
https://keijiban.umayadia.com/ThreadDetail.aspx?ThreadId=10394#CommentId21304
この投稿の削除
削除パスワード
削除する
コメント本文
投稿者
魔界の仮面弁士
 (社会人)
投稿日時
2011/8/18 14:32:31
たとえば、「0で除算」や「配列のインデックスに範囲外の値を指定」、「型変換エラー」などの
例外は、Catch するべきでは無いとされます。これらは、そういう処理が行われていること自体が
問題であると言えますので(バグと言えます)、むしろそういう例外が発生することがないよう、
値の事前チェックを行うなど、コードを書きなおすことで対応するべきです。
一方、「ディスクがいっぱいで保存できない」「ダウンロード先のサーバーと通信できなかった」等の
例外というのは、実行してみないと検出できない処理ですので、これらは積極的に Catch すべきです。
(ディスクの空き容量を調べてから保存するといった対処方法を取ることはできますが、
調べてから実際に保存するまでの僅かな間に、ディスク容量やアクセス権が変化する可能性も
ありますので、これらについては事前チェックすれば済むということにはなりません)
そういう意味においては、無暗やたらと On Error や Catch すべきではありませんし、
かといって、まったく例外処理を行わないというのもまた問題ですね。