[Java][研修] 例外処理の設計って、意外と抜けたりしませんか

弊社でご提供しているJavaの研修サービスや教材は、どれも入門編的スタンスの内容のものが多いです。いきなり上級編のコンテンツから整備していく、という戦略もありえるのかもしれませんが、やはり商売として入門編の内容はニーズの裾野が広い(必要とするお客様が多い)ので、どうしてもそこから揃えて行くという方向性になりました。

ですので、弊社もこのままずっと入門編コンテンツだけでサービス提供をしていこうと考えているわけではありません。Javaに関しては入門的なコンテンツの整備はだいぶ進んできましたので、少しずつ、上のレベルのコンテンツにも着手していきたいと考えています。

その中のひとつが、「例外処理にフォーカスした研修」です。

もちろん、例外処理の文法的な要素については、基礎の研修でも扱っているわけですが、ここで考えているのは「例外処理のコードをどう書くか」ではなく、例外処理を含めたプログラムをどう設計するか、というテーマです。

例えばあるAPIを利用する場合、目的のメソッドにthrows節が定義されているとき、クライアントクラスでこのメソッド呼び出しをする際にできることは大きく2つあります。ひとつは、try〜catch節を記述して例外を捕捉できるようにすること。もうひとつは、try〜catchは使わず、クライアントクラス側のメソッドにthrows節を定義することです。もちろんこれは文法的にはそういう選択肢が出てくるわけですが、では実際、どちらの選択をすべきなのか?

これは、例外処理についての設計をあらかじめしておかないといけないわけですね。クラスの設計時に、メソッドの引数、戻り値だけ決めていて、例外をどうするかは、コードを書いてみてから考えよう、のようにしてしまうと、プログラマによって同じような例外の処理に対しても対処の内容がまちまちになってしまったり、「とりあえずコンパイルが通ればいいや」的な対処の不完全なコードができてしまいがちです。

そういったことを事前にどう設計しておくか、というようなポイントを整理できるようなコースを考えています。

まだ、いつから開講します、ということが言える段階ではないのですが、ご興味のありますかたは、是非、ご検討の選択肢の一つに入れておいていただければ幸いです。早く開講して欲しい!というコメントが多ければ、開講が早まるかもしれません(笑)