例外処理の考え方
■業務エラーに対して例外を使用しない
例外は重い処理なので、できるだけ使用しないのが正しい。
業務エラーは戻り値(例えばBoolを返す)で表現すべき。
例えば、業務フローチャートに沿った”金額が入力されていません!”
といった入力チェック等は、例外をThrowすべきではない。
■業務フローチャートからはみ出してしまうようなエラーを例外処理
ファイル操作で問題がおきた(例えば、ファイルの有無はチェックしたが、
処理中にファイルが移動された等)、DBに接続できなかった、
ネットワークエラーが生じた、メモリ不足が発生したといった場合が、
例外処理となる。
・try-catch ブロックは、例外が発生しうる『1 行』のみを囲む
・一般例外(Exception クラス)ではなく、特定の例外(SqlException など)
のみを捕捉
・そもそもTry Catchはなるべく使うべきではなく、発生した/させたException
は集約エラーハンドラで処理するのが望ましい。
・例外が発生した場合もその後何かしらを行いたいといった場合に
Try Catchを使うべき。