- 2010-12-06 Monday 02:25
- Posted by d9
「Javaの例外処理について社内向けにドキュメントを作ってくれ」と「新人に例外処理を教えてくれ」と2つ依頼が来たので、新人教育に使っているSpringのサンプルコードを眺めていたのですが、妙に違和感を感じました。
- 5年くらい前のJavaアプリは例外処理で凄く難儀した記憶がある
- 最近のC#等では例外処理に苦労した記憶は個人的にはない。(教える側で苦労したことはある)
- Spring Framework使用時のSQLExceptionってこんなにシンプルに処理出来た?というか、RuntimeException系統のエラーだったか?
- そういや、最近はthrows祭のソースコードってあんまり見かけないな。
基本に戻って考えようと社内に転がっているJavaの入門書的な書籍を漁ったのですが、例外処理についてまともに書いてあるやつはないし、新人教育用のドキュメントを見ても例外処理についてロクに書いていない。一体、私はどこで例外処理を勉強したんでしょう?
そんなわけで、自宅の本棚を漁っていたら出てきた『Effective Java』にしっかりと書いてありました。いやいや、この本、以前に新人教育用の推薦図書として紹介したのですが、当時の教育担当から「難しすぎる」として却下されたやつですね…
いやー、ずっと単語が思い出せなかったのですが、例外処理とはようするに検査例外と実行時例外の捌き方ですね。検査例外が入ってくると処理が面倒なことになるわけですが、この辺りについては弊社では教育なんてしてないし、社内のコーディング規約なんかも決まっていないので当然のようにすっこ抜けると。そりゃ「新人教育で例外処理を教えてくれ」となりますな。
まあ、今まではすっこ抜けてもソースコードレビューあたりでアーキテクトレベルのSEが止めてくれていたと思うのですが、その辺のレベルの人は大分減ってしまったし、今の弊社の採用状況と教育状況を見ると自主的にこの辺りの問題を解決出来るレベルまでスキルが伸びる人は6人に1人くらいですかね。正直、新人教育だけでは根本的にどうにかなる問題ではない気がするのですが、依頼に関してはやるだけやりますかね。