意図的に例外を無視するとき
Javaとかのプログラムで検査例外をcatchする、
んだけど、
catchした例外を意図的に無視する、みたいなケースがたまにあります。
class Main { public static void main(String[] args) { try{ // 何か例外が発生するかもしれないコード // ... }catch(Exception e){ // 何もしない } } }
みたいなコードのcatch節の話です。
}catch(Exception e){ // 何もしない }
こんなふうにコメントを書くことで、
例外に対して何もしない、ということを明示してるのは良い例です。
#書籍っぽく言うなら、良いプラクティスです。みたいな。
プログラミング経験の少ない人は、
}catch(Exception e){
}
とコメントを書かなかったりするので、
後で別の人がコードを保守するときに、
「例外処理忘れてる??」って疑問を抱かせてしまうわけです。
だから、例外処理を無視するときは「例外処理をあえて、していません」
という意思を明示するために、コメントをつけましょう。
と、ここまでは中級プログラマの話。
もうちょっとプログラムの品質をあげるテクニックもあります。
例外処理を無視するときは、こんなふうにも書けます。
}catch(Exception ignored){
}
Exceptionの変数名をeからignoredに変更しました。
ignored(ignore)ってのは無視する、っていう意味なんで、
「僕はあえて例外を処理していません」と意思表示することができます。
ただ、、
このテクニックの弱点は、
英語やネーミングに疎い人が保守をしたときは、このignoredに気づかない可能性があるということです。
変数名やメソッド名など、ネーミングにこだわりのない人が保守をしてしまうと、
「僕はあえて例外を処理していません」という僕のメッセージに気付いてもらえないかもしれません。
#やっぱ日本語のコメントも書いておく方が無難すね。
コメントも重要だけど、
プログラムコードで語るのも重要って話。
そのためには、変数名、メソッド名、クラス名などネーミングを工夫するのはとても重要。
名前重要。
*1:4年に一度開催されるとかしないとか