例外処理の考え方

■業務エラーに対して例外を使用しない

 例外は重い処理なので、できるだけ使用しないのが正しい。

 業務エラーは戻り値(例えばBoolを返す)で表現すべき。

 例えば、業務フローチャートに沿った”金額が入力されていません!”

 といった入力チェック等は、例外をThrowすべきではない。

 

■業務フローチャートからはみ出してしまうようなエラーを例外処理

 ファイル操作で問題がおきた(例えば、ファイルの有無はチェックしたが、

 処理中にファイルが移動された等)、DBに接続できなかった、

 ネットワークエラーが生じた、メモリ不足が発生したといった場合が、

 例外処理となる。

 ・try-catch ブロックは、例外が発生しうる『1 行』のみを囲む
 ・一般例外(Exception クラス)ではなく、特定の例外(SqlException など)

  のみを捕捉
 ・そもそもTry Catchはなるべく使うべきではなく、発生した/させたException

  は集約エラーハンドラで処理するのが望ましい。

 ・例外が発生した場合もその後何かしらを行いたいといった場合に

  Try Catchを使うべき。